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.
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 .