Django_F查询与Q查询

Posted wangdianchao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django_F查询与Q查询相关的知识,希望对你有一定的参考价值。

F查询:

from django.db.models import F
# 查询阅读数大于评论数的,书名
ret = models.Book.objects.filter(read_num__gt=F("comment_num"))
print(ret)
print(ret.values("title"))

结果:

技术图片

# 给全部书的价格加1
models.Book.objects.all().update(price=F("price")+1)

Q查询:

from django.db.models import Q
# 查询名字为西游记或者价格等于102的书籍   |:或  &:且
ret = models.Book.objects.filter(Q(title="西游记") | Q(price=102))
print(ret)

结果:

技术图片

# 查询名字不为西游记的书籍
ret = models.Book.objects.filter(~Q(title="西游记"))
print(ret)

结果:

技术图片

 

以上是关于Django_F查询与Q查询的主要内容,如果未能解决你的问题,请参考以下文章