我有这个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})
答案 0 :(得分:1)
这是一个非常愚蠢的问题。仅当django无法找到所需模板且DEBUG
设置为true
时才会发生这种情况。