как сделать меньше или равно и больше или равно в Django фильтр?
как сделать меньше или равно и больше, чем равно в фильтре django? Например, я хочу получить значение вокруг : -10<=val<=50
в представлении django.
Для этого я использовал некоторый запрос в sql, как это : -
select count(*) from table_name where gender='MALE' and age<=50 and age>=10;
Я пробовал что-то подобное в Django view: -
tablename.objects.filter(Q(gender='MALE'),Q(age__lte=50) & Q(age__gte=10)).count()
но у меня разные значения. В sql я получил 65, а в django-29. ответ sql правильный. Пожалуйста, помогите мне сделать сравнение в Джанго.
2 ответов
почему вы не используете функцию _range?
filter(gender='MALE', age__range=(10, 50))
см. здесь: https://docs.djangoproject.com/en/1.7/ref/models/querysets/#range
Если вы действительно хотите использовать >=
и <=
йо мог написать:
Modelname.objects.filter(gender='MALE', age__gte = 10, age__lte = 50).count()