2016-01-12 6 views
5

Wie im Django-Filter weniger als oder gleich und größer als gleich? Wie, möchte ich Wert um: - 10<=val<=50 in Django sehen.
Dazu verwendete ich einige Abfrage in SQL wie folgt aus: -wie man im Django-Filter weniger als oder gleich und größer als gleich macht?

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

ich so etwas wie dies in django Ansicht versucht: -

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

Aber ich verschiedene Werte bekam. In Sql bekam ich 65 und in Django bekam ich 29. SQL Antwort ist korrekt. Bitte helfen Sie mir, einen Vergleich in der Django-Ansicht zu machen.

Antwort

8

Wenn Sie wirklich >= und <= verwenden möchten yo schreiben könnte:

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

Ich habe versucht, Ihre Antwort funktioniert gut, danke für das .. @doru –

Verwandte Themen