Существует ли канонический шаблон проектирования для фильтра в памяти в Django или Django Rest Framework? - PullRequest
0 голосов
/ 14 февраля 2020

Существует ли канонический шаблон проектирования для фильтра в памяти в Django или Django Rest Framework?

Например, есть ли в Django способ фильтрации набора запросов с использованием лямбда-выражения ?

Или Django Rest Framework имеет метод Viewset, который можно переопределить для фильтрации результатов запроса? Ни get_queryset, ни filter_queryset не подходят для этого, потому что они оба возвращают набор запросов. Напротив, фильтр в памяти будет принимать список результатов запроса в качестве входных данных и возвращать отфильтрованное подмножество входного списка. Возможно, метод Viewset list() может быть переопределен для этой цели, но он не идеален, потому что тогда реализация по умолчанию ListModelMixin должна быть продублирована. Кроме того, фильтрация в методе сериализатора get_representation или свойстве data также не кажется идеальной, поскольку это будет означать выполнение работы по сериализации результатов, которые затем отбрасываются.

...