Теперь я начинаю использовать django, и у меня есть проблема с фильтрацией данных на основе пользовательской информации. Позвольте мне объяснить, как работает мое приложение. Пользователь в моем приложении принадлежит компании. Поэтому я создал таблицу под названием «Компания» для сбора информации о компании. Затем я создал другую таблицу под названием UserCompany. В основном, он хранит идентификатор пользователя Django и идентификатор из таблицы моей компании. Теперь я хочу фильтровать данные, которые пользователь увидит в Django Admin на основе их идентификатора компании. Он/она может видеть только данные на основе их идентификатора компании. Я смог оценить этого пользователя, используя get_queryset
в admin.py. Моя единственная проблема в том, что раскрывающийся список, который отображается в админке в результате внешних ключей, не фильтруется. Я провел некоторое исследование и узнал о limit_choices_to. Я могу установить это статически следующим образом:Django admin - Ограничить выбор в раскрывающемся списке
class Cleaner(models.Model):
company = models.ForeignKey('Company',limit_choices_to = {'companyname' = 'Test'}
Выпадающий список в разделе администратора показывает только тестер компании. Как я могу сделать это динамически? Я делаю это в модели или делаю это в admin.py? Пожалуйста помоги!!
спасибо. это было полезно. –