Как предотвратить множественные запросы по инлайнам в админке Django?

Вчера весь день бился над этим, но не могу найти выход. У меня есть три модели, где A связан с C через B. A-админ инлайн B, который имеет FK к C.

Админские строки вызывают запросы на элемент, что невероятно медленно. Если сделать поля, нарушающие правила, raw_id_only, это помогает (readonly еще больше), но это не то, что я пытаюсь сделать.

Я читал в нескольких баг-теках, что это предполагаемое поведение, потому что они не хотят держать в памяти набор запросов для выбора. Но я хочу этого. Просто я не уверен, с чего начать. Я бы хотел создать dict всех C (только id и str фактически) в A-админе один раз и затем передать его в каждую из форм инлайн-админов вместо того, чтобы это вызывало еще один запрос. Как я могу это сделать?

Вот тикет, в котором подробно описано такое поведение: https://code.djangoproject.com/ticket/31295

Спасибо!

Вернуться на верх