Как сделать меньше или равно фильтровать в Django queryset?

Я пытаюсь фильтровать пользователей по настраиваемому полю в каждом профиле пользователя с именем profile. Это поле называется уровнем и представляет собой целое число от 0 до 3.

Если я фильтрую с использованием equals, я получаю список пользователей с выбранным уровнем, как ожидалось:

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

Когда я пытаюсь фильтровать с использованием менее:

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

Я получаю сообщение об ошибке:

глобальное имя 'userprofile__level' не определено

Отходит ли фильтр на < или > , или я лаяю неправильное дерево.

Ответ 1

Меньше или равно:

User.objects.filter(userprofile__level__lte=0)

Больше или равно:

User.objects.filter(userprofile__level__gte=0)

Аналогично, lt меньше и gt для большего. Вы можете найти их в в документации.