总结:用Q把筛选条件包起来.
filter()括号内可以写多个参数,只支持逗号连接,是and意思
from django.db.models import Q
1.查询书名是三国演义爆款或者库存是100的书籍
res1 = models.Book.objects.filter(Q(title='三国演义爆款'),Q(kucun=100)) 逗号是and
res1 = models.Book.objects.filter(Q(title='三国演义爆款')|Q(kucun=100)) 管道符|是or
res1 = models.Book.objects.filter(~Q(title='三国演义爆款')|Q(kucun=100)) 在Q前面加~是not
print(res1.query)
Q用于搜索栏中的搜索功能。
搜索栏中按照字段查询数据,字段是个变量,q把变量名转换成了字符串。
浙公网安备 33010602011771号