Django ORM 数据库增删改查
增
# 创建、增加数据(推荐) 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()
删
# 删除指定字段的行 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")
查
# 获取表内所有数据 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
其他
# .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()