Django ORM 数据库增删改查

Django ORM 数据库增删改查sql


数据库

# 建立、增长数据(推荐)
models.UserInfo.objects.create(username='root',password='123')
# 建立、增长数据
dic = {'username':'eric','password':'666'}
models.UserInfo.objects.create(**dic)
# 建立、增长数据
obj = models.UserInfo(username='xsk',password='123')
obj.save()

 spa

# 删除指定字段的行
models.UserInfo.objects.filter(id=4).delete()
# 删除指定多个字段的行
models.UserInfo.objects.filter(username='root',password="123").delete()

翻译

# 修改指定字段内的全部值变为888
models.UserInfo.objects.all().update(password="888")

# 修改指定id的行修改字段内的值
models.UserInfo.objects.filter(id="3").update(password="777")

rest

# 获取表内全部数据  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="123")
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

 

 

 

其余code

# .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()