Есть вопрос

Переопределени полей в админке Django

Переопределени полей в админке Django

Существует интерфейс в котором администраторы сайта, назначают курьеров на обработку заказов.

Курьеры являютя пользователями сайта со статусом is_staff=True.

У администраторов есть вот такой выпадающий список и в этом списке отображаются ВСЕ пользователи, даже те которые авторизовались через ulogin и не имеют статуса персонала и возможности  заходить в админку

Для того чтобы изменить это поведение необходимо переопределить метод формирования queryset для класса админки вот таким образом


    def formfield_for_foreignkey(self, db_field, request, **kwargs):
        if db_field.name == "user":
            kwargs["queryset"] = User.objects.filter(Q(is_superuser=True) | Q(is_staff=True))
        return super(OrderDeliveryAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)

 


+7(977) 904-26-12
Яндекс.Метрика

Сформулируйте

  • что вы хотите получить: сайт, программу, базу данных, дизайн, консультацию
  • что вы уже имеете: доменное имя, хостинг, cms, старая версия сайта
  • укажите сроки
  • как вам удобнее общаться: почта, телефон,скайп, встреча, рабочее время