django-Q表达式
想要找到某个表下的价格高于100元,并且评分达到5以上评分的图书
books = Book.objects.filter(price__gte=100,rating__gte=5) #找到Book表下的price__gte字段大于100,rating__gte并且字段大于5的数据
如果是别的方式,比如说:找到某个表下的价格高于100元或者评分大于5的,那么这个方式就不适用了
from django.db.models import Q #需要导入这个模块 # 获取id等于3的图书 books = Book.objects.filter(Q(id=3)) # 获取id等于3,或者名字中包含文字"记"的图书 books = Book.objects.filter(Q(id=3)|Q(name__contains("记"))) # 获取价格大于100,并且书名中包含"记"的图书 books = Book.objects.filter(Q(price__gte=100)&Q(name__contains("记"))) # 获取书名包含“记”,但是id不等于3的图书 books = Book.objects.filter(Q(name__contains='记') & ~Q(id=3))