django的F、Q查询

本文介绍了Django中F和Q查询的使用,重点讨论了如何结合&和|运算符进行复杂条件筛选,如lt(小于)、lte(小于等于)、gt(大于)、gte(大于等于)等,帮助理解这些查询在实际应用中的综合运用。

在这俩个查询中用到的有&、| 这俩个运算符

&:顾名思义就是 and(和) 的意思
|:顾名思义就是 or(或) 的意思
lt:小于
lte:小于等于
gt:大于
gte:大于等于

F查询及Q查询综合
from django.http import HttpResponse
from django.db.models import F,Q
class ShowGood(APIView):
    def get(self,request):
        good1 = Goods.objects.filter(price__lt=F('count'))  # 查询价格小于数量的商品
        good2 = Goods.objects.filter(price__lte=F('count'))  # 查询价格小于等于数量的商品
        good3 = Goods.objects.filter(price__gt=F('count'))  # 查询价格大于数量的商品
        good4 = Goods.objects.filter(price__gte=F('count'))  # 查询价格大于等于数量的商品

        good5 = Goods.objects.filter(Q(count__lt=20),Q(price__gt=10))  # 查询数量小于20并且价格大于10的商品
        good6 = Goods.objects.filter(Q(count__lt=20)&Q(price__gt=10))  # 查询数量小于20并且价格大于10的商品

        good7 = Goods.objects.filter(Q(count__lt=20)|Q(price__gt=10))  # 查询数量小于20或者价格大于10的商品
        # print(good1)
        # print(good2)
        # print(good3)
        # print(good4)
        return HttpResponse('ok')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值