Django ORM 数据库增删改查
增
# 创建、增加数据(推荐)
models.UserInfo.objects.create(username='root',password='')
# 创建、增加数据
dic = {'username':'eric','password':''}
models.UserInfo.objects.create(**dic)
# 创建、增加数据
obj = models.UserInfo(username='xsk',password='')
obj.save()
删
# 删除指定字段的行
models.UserInfo.objects.filter(id=4).delete()
# 删除指定多个字段的行
models.UserInfo.objects.filter(username='root',password="").delete()
改
# 修改指定字段内的所有值变为888
models.UserInfo.objects.all().update(password="")
# 修改指定id的行修改字段内的值
models.UserInfo.objects.filter(id="").update(password="")
查
# 获取表内所有数据 all()
# result返回的是QuerySet类型 => Django类 => []
# 全部都是UserInfo的对象[obj(id,username,password),obj,obj]
result = models.UserInfo.objects.all()
for row in result:
print(row.id,row.username,row.password)
# 获取username字段中带有root的一行对象值 filter()
result = models.UserInfo.objects.filter(username='root')
# 获取username字段中带有root与password字段中带有123的一行对象值 filter()
result = models.UserInfo.objects.filter(username='root',password="")
for row in result:
print(row.id,row.username,row.password)
# 只获取一条数据
obj = models.UserInfo.objects.first(id=nid).first()
# 查看翻译成的sql语句
models.UserInfo.objects.all().query
其他
# .firest() 获取对象。没有则输出None,有则输出UserInfo object (常用)
obj = models.UserInfo.objects.filter(username=u,password=p).first()
# .count() 获取个数,没有则输出0。
count = models.UserInfo.objects.filter(username=u,password=p).count()