如何在django过滤器中做小于等于和大于等于的处理?[英] how to do less than or equal to and greater than equal to in django filter?

本文是小编为大家收集整理的关于如何在django过滤器中做小于等于和大于等于的处理?的处理方法,想解了如何在django过滤器中做小于等于和大于等于的处理?的问题怎么解决?如何在django过滤器中做小于等于和大于等于的处理?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

如何做少于或等于且大于Django滤波器中的

?就像,我想获得价值: - 10<=val<=50在django视图中.
为此,我在SQL中使用了一些查询: -

select count(*) from table_name where gender='MALE' and age<=50 and age>=10;

我在django视图中尝试了这样的事情: -

tablename.objects.filter(Q(gender='MALE'),Q(age__lte=50) & Q(age__gte=10)).count()

但是我有不同的值.在SQL中,我得到了65,在Django中,我得到了29.SQL答案是正确的.请帮助我在Django View中进行比较.

推荐答案

为什么不使用_range函数?

filter(gender='MALE', age__range=(10, 50))

请参阅此处: 型号/QuerySets/#range

编辑新链接: 型号/QuerySets/#range

其他推荐答案

如果您真的想使用>=和<= yo可以写:

Modelname.objects.filter(gender='MALE', age__gte = 10, age__lte = 50).count()

本文地址:https://www.itbaoku.cn/post/1763811.html