на биржи и курсы, потом и в бирже смогу спокойно получать доступ к валютам без подрузки и доп запросов?
.prefetch_related("burse__currencies") пробовал?
зачем?
ну ты же с N+1 мучаешься?
+
у него уже запрос от through таблицы, он просто не в ту сторону собирает)
поменять логику в шаблоне
все равно, конкретно в этом примере чтобы избавиться от N+1 в print() мне кажется надо .prefetch_related("burse__currencies") (при условии, что все остальное в коде должно остаться неизменным)
да, я тоже так хочу, но мне как-то префетч кастомно сделать, чтобы он подмешивал в валюты еще комиссии
.prefetch_related("burse__currencies") должен делать join через промежуточную таблицу и автоматически подгружать ее в запрос когда ты пишешь prefetch_related("model1__model2__model3"), ты попутно кроме model3 выгребаешь model1 и model2 "автоматически"
burses = Burse.objects.all().prefetch_related('burse__currencies') Вот так как я понимаю?
но не факт =), никогда не доводилось глубоко копаться забей пока на дебаг тулбар, он тут не нужен from django.db import connection, reset_queries reset_queries() ... делай тут тестовые запросы ... print(len(connection.queries)) print(connection.queries)
Обсуждают сегодня