django学习笔记之ORM入门

it2022-06-09  75

django为数据库的使用提供一种新的方式,关系对象映射(ORM)

创建表操作表

一、创建表

首先需要在app目录下的models.py文件中创建类和字段,models.Model是必须要传入的参数:

class User(models.Model): age = models.IntergerFiled() name = models.CharField(max_length=10)#字符长度

然后执行两个命令

Python manage.py makemigrations python manage.py migrate

要注意需要在settings.py文件下先注册app,不然不知道应该将数据库的修改信息写入到哪一个app的migrations文件下面。

类创建好之后,我们以后就可以通过对类的操作从而进行表的增删改查

 

二、操作表

增加字段(models.类名.objects.create):

models.User.objects.create(name='qianxiaohu',age=18)或者: dic = {'name': 'xx', 'age': 19} models.User.objects.create(**dic)还可以:obj = models.User(name='qianxiaohu',age=18)obj.save()

 删除某一个字段(models.Users.objects.filter(条件).delete():

models.User.objects.filter(id=1).delete()

 修改(models.objects.filter().update()):

models.User.objects.filter(id__gt=1).update(name='alex',age=84) ic = {'name': 'xx', 'age': 19} models.User.objects.filter(id__gt=1).update(**dic)#__gt表示大于

 查询-->filter

models.User.objects.filter(id=1,name='root') models.User.objects.filter(id__gt=1,name='root')#__gt表示大于 models.User.objects.filter(id__lt=1)#小于 models.User.objects.filter(id__gte=1)#大于等于 models.User.objects.filter(id__lte=1)#小于等于 models.User.objects.filter(id=1,name='root') dic = {'name': 'xx', 'age__gt': 19} models.User.objects.filter(**dic)

外键:

外键: class UserType(models.Model): caption = models.CharField(max_length=32) id caption # 1,普通用户 # 2,VIP用户 # 3, 游客 class User(models.Model): age = models.IntergerFiled() name = models.CharField(max_length=10)#字符长度 # user_type_id = models.IntergerFiled() # 约束, user_type = models.ForeignKey("UserType",to_field='id') # 约束, name age user_type_id # 张扬 18 3 # 张A扬 18 2 # 张B扬 18 2

  

 

 

 

转载于:https://www.cnblogs.com/mesunyueru/p/9117807.html


最新回复(0)