赞
踩
当我们在查询的条件中需要组合条件时(例如两个条件“且”或者“或”)时。我们可以使用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的所有数据
在Q()语句中,~代表非
models.Author.objects.filter(~Q(name="cox")) # 获取在Author表中,name不等于cox的所有数据
如果times的值是1,那么经过n次save()之后,times的值是2
obj = models.objects.get(name="cox")
obj.times = obj.times + 1
obj.save()
obj.save()
obj.save()
如果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()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。