Изменение набора запросов в changelist_view в Django Admin - PullRequest
0 голосов
/ 10 июля 2019

Мне нужно изменить окончательный набор запросов, используемый списком изменений в администраторе django.

Я верю (поправьте меня, если я ошибаюсь), я могу добиться этого, переопределив changelist_view (), но попытка изменить набор запросов не работает, только оригинальный набор запросов загружается в администраторе.

def changelist_view(self, request, extra_context=None):
    response = super().changelist_view(
        request,
        extra_context=extra_context,
    )

    try:
        qs = response.context_data['cl'].queryset
    except (AttributeError, KeyError):
        return response

    response.context_data['cl'].queryset = qs.filter(pk__in=qs.order_by().values('pk').distinct('target'))

    return response

Я думал, что изменение данных контекста для списка изменений достигнет этого, но это не сработало.

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

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