Django эффективный способ получить набор запросов из огромного (я говорю огромного) списка идентификаторов в порядке - PullRequest
0 голосов
/ 12 февраля 2020

Примерно так же, как: Django получить QuerySet из массива идентификаторов в указанном c порядке . Я попытался { ссылка }

Но мой список идентификаторов огромен (> 50000) и оба qs = Foo.objects.filter(id__in=id_list) и qs = qs.order_by(preserved) пряжки под напряжением.

Примечание: Мне нужен набор запросов из-за специфицированного метода c django, который я переопределяю, поэтому все, что возвращает список, не будет работать.

РЕДАКТИРОВАТЬ: В ответ на комментарии I ' Я специально переопределяю get_search_results() в админ. Моя поисковая система возвращает id моделей, которые соответствуют запросу. Но get_search_results() необходимо вернуть набор запросов. Отсюда большой список id х

.

1 Ответ

0 голосов
/ 07 мая 2020

Я сделал это, создав класс FakeQueryset, в котором было достаточно функций обычного набора запросов, чтобы он мог работать как один. Затем, когда мне нужно было отобразить его, я бы передал его на пользовательский пагинатор, который одновременно извлекал бы только несколько id с базы данных. Утка печатает на победу!

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