Я пытаюсь отфильтровать список пользователей в Django, используя поле UserProfile ... Мне нужно реализовать систему очередей, в которой новые пользователи помещаются в очередь до тех пор, пока администратор не утвердит их.
Я просто добавил логическое поле is_in_queue
в свою модель UserProfile ... Однако, при отображении списка пользователей в моей области администратора, я понял, что вы не можете фильтровать список, используя поле внешнего ключа модели (в этом case, поле UserProfile)
Очевидно, что list_display
элементы могут быть вызываемыми, но list_filter
не может, поэтому я могу перечислить, если пользователь находится в очереди без проблем, но администратору придется прокручивать весь список пользователей, чтобы определить, какие они находятся в очереди, что не имеет смысла ... Фильтрация только тех пользователей, которые находятся в очереди (с использованием userprofile.in_queue), была бы гораздо более практичной ...
Наконец, я подумал о добавлении настраиваемого представления в мою область администратора, в котором будет отображаться только пользователь в очереди, но это настраиваемое представление не отображается на странице индекса области администрирования, и о создании целого нового AdminSite только для новая опция фильтрации кажется немного излишней ...
Итак, в общем, чтобы подвести итог: могу ли я отфильтровать свой список пользователей на основе
Поле UserProfile? Если нет, могу ли я добавить пользовательский вид, который доступен
с первой страницы без необходимости создавать совершенно новый
AdminSite только для этого?