当前位置:   article > 正文

DjangoQ,F简单介绍使用_django q f

django q f

Django Q/F

1.1 Django Q()表达式

当我们在查询的条件中需要组合条件时(例如两个条件“且”或者“或”)时。我们可以使用Q()查询对象

from django.db.models import Q
models.Author.objects.filter(Q(name="cox") | Q(name="Tom")) # 获取在Author表中,name等于cox和name等于cox的所有数据

models.Author.objects.filter(Q(name="cox") & Q(age=12))# 获取在Author表中,name等于cox并且age等于12的所有数据
  • 1
  • 2
  • 3
  • 4

1.2 Q()非

在Q()语句中,~代表非

models.Author.objects.filter(~Q(name="cox")) # 获取在Author表中,name不等于cox的所有数据
  • 1

1.3 F()操作在 obj.save() 后会持续存在

如果times的值是1,那么经过n次save()之后,times的值是2

obj = models.objects.get(name="cox")
obj.times = obj.times + 1
obj.save()
obj.save()
obj.save()
  • 1
  • 2
  • 3
  • 4
  • 5

如果times的值是1,那么经过n次save()之后,times的值是1+n,而不是2,就是因为F()操作在 obj.save() 后会持续存在

obj = models.objects.get(name="cox")
obj.times = F("times") + 1
obj.save()
obj.save()
obj.save()
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/833912
推荐阅读
相关标签
  

闽ICP备14008679号