web-dev-qa-db-fra.com

Comment faire un filtrage inférieur ou égal à Django queryset?

J'essaie de filtrer les utilisateurs en fonction d'un champ personnalisé dans chaque profil d'utilisateur appelé profil. Ce champ est appelé niveau et est un entier compris entre 0 et 3.

Si je filtre à l'aide d'égal à égal, je reçois une liste d'utilisateurs avec le niveau choisi comme prévu:

user_list = User.objects.filter(userprofile__level = 0)

Lorsque j'essaie de filtrer en utilisant moins de:

user_list = User.objects.filter(userprofile__level < 3)

Je reçois l'erreur:

nom global 'userprofile__level' n'est pas défini

Est-il possible de filtrer par <ou>, ou suis-je en train d'aboyer le mauvais arbre.

144
Finglish

Inférieur ou égal à:

User.objects.filter(userprofile__level__lte=0)

Meilleur que ou égal:

User.objects.filter(userprofile__level__gte=0)

De même, lt pour inférieur à et gt pour supérieur à. Vous pouvez les trouver tous dans la documentation .

274
Lakshman Prasad