Django Q表达式应用场景

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33867131/article/details/82734629
Q表达式:包裹查询条件,多个查询条件之间使用:与或非(& | ~)操作

from django.db.models import Q

1、与
查询价格大于100,并且书名中包含"红"的图书
    books = Book.objects.filter(Q(price__gte=100) & Q(name__contains("红")))
    ====> & 符可以省略:
    books = Book.objects.filter(price__gte=100, name__contains("红"))
2、或
查询所有价格低于10元,或者是评分低于9分的图书
from django.db.models import Q
books = Book.objects.filter(Q(price__lte=10) | Q(rating__lte=9))

3、非
查询id不等于3的图书
books = Book.objects.filter(~Q(id=3))

猜你喜欢

转载自blog.csdn.net/qq_33867131/article/details/82734629