私はこのQuerySetを持っています:
brand = get_object_or_404(Brand, shortcut=shortcut)
ads = Ad.objects.filter(mod__submodel__model__brand = brand).values('id')
しかし、何らかの理由でdjangoは同じクエリを5回実行します(クエリの数は行の数に依存しません)。はい、これ:
SELECT ••• FROM "catalog_ad" INNER JOIN "catalog_mod" ON ("catalog_ad"."mod_id" = "catalog_mod"."id") INNER JOIN "catalog_submodel" ON ("catalog_mod"."submodel_id" = "catalog_submodel"."id") INNER JOIN "catalog_model" ON ("catalog_submodel"."model_id" = "catalog_model"."id") WHERE "catalog_model"."brand_id" = 1 LIMIT 21
では、なぜdjangoは同じクエリを5回実行するのでしょうか?
更新:ads
これは、次のようにコンテキストプロセッサに渡すときにのみ発生します。
return render(request, 'cat.html', {ads:ads})