Django ORM 数据库增删改查

Posted xiangsikai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django ORM 数据库增删改查相关的知识,希望对你有一定的参考价值。

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

 

以上是关于Django ORM 数据库增删改查的主要内容,如果未能解决你的问题,请参考以下文章

备战Django之ORM模型(增删改查)

Django 自带的ORM增删改查

django 利用ORM对单表进行增删改查

02 django 框架ORM 操作数据库,字段的增删改查

Django中ORM对数据库的增删改查操作

Django之ORM数据库增删改查