ORM的增删改查

增:添加数据

利用模型类创建对象来进行增加

语法:

对象名 = 模型类(字段=值) 需要自己手动保存
对象名.save()

 

利用模型类管理器增加数据

语法:

模型类.objects.create(字段=值…)

 

删:删除数据

利用模型类创建对象进行删除

语法:

对象名 = 模型类.objects.get(条件)
对象名.delete()

 

利用模型类管理器删除数据

语法:

模型类.objects.get、filter(条件).delete()
删除不存在的数据会报错

 

改:修改数据

利用模型类创建对象进行修改

语法:

对象名 = 模型类.objects.get(条件)
对象名.字段 = 值
对象名.save() # 保存修改的信息

 

利用模型类管理器修改数据

语法:

模型类.objects.filter(条件).update()

 

查:查找数据

all():

模型类.objects.all()  查询全部数据

 

get():

模型类.objects.get(条件)   get:只能获取单条数据,如果查询的结果超过1条数据,报错

 

filter():

模型类.objects.filter(条件)  filter:查询得到的是一个结果集 可以查询多条数据,单条数据

 

exclude():

模型类.objects.exclude(条件)  exclude:查询和条件相反的数据(不满足条件的数据)

 

条件查询:

等值查询(=):查询id大于2的数据 gt:

Register.objects.filter(id__gt=2)
模型类.objects.filter(字段__gt=值)

 

查询id小于3的数据 lt:

Register.objects.filter(id__lt=3)
模型类.objects.filter(字段__lt=值)

 

注:(大于等于:gte、小于等于lte)

 

查询名字为张三的个数(统计个数count)

Register.objects.filter(name=”张三”).count()
模型类.objects.filter(条件).count()

 

按照id降序进行排序(order_by)

模型类.objects.all().order_by(“字段”) 升序
模型类.objects.all().order_by(“-字段”) 降序
可以写all()也可以不写

 

查询名字以张开始的:

Register.objects.filter(name__startswith=”张”)
模型类.objects.filter(字段__startswith=”值”)

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » ORM的增删改查