Как сделать фильтр целевой страницей в виде списка? - PullRequest
0 голосов
/ 02 мая 2011

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

В частности, я хотел бы определить фильтр, применяемый на основе атрибута пользователя.

Как мне этого добиться?

1 Ответ

0 голосов
/ 02 мая 2011

edit:

Неправильно прочитан вопрос, извините!

Чтобы выбрать фильтр по умолчанию для пользователя на основе атрибута пользователя, используйте changelist_view


Переопределить метод набора запросов ModelAdmin.

http://docs.djangoproject.com/en/1.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin.queryset

приведен пример:

class MyModelAdmin(admin.ModelAdmin):
    def queryset(self, request):
        qs = super(MyModelAdmin, self).queryset(request)
        if request.user.is_superuser:
            return qs
        return qs.filter(author=request.user)

изменить фильтрацию на основе вашего пользовательского атрибута.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...