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=”值”)