【发布时间】:2015-11-04 07:56:50
【问题描述】:
我有一个模型(产品),它实际上包含许多多对多字段。
理想情况下,我会尝试将查询减少到产品本身的数量——25 个,但考虑到外键和 m2ms 的深度,我知道这可能是不可能的。但我仍然在争取最好的结果。
这是我的看法:
def index(request):
products = Product.objects.select_related()
paginator = Paginator(products, 25)
page = request.GET.get('page')
try:
products = paginator.page(page)
except PageNotAnInteger:
# If page is not an integer, deliver first page.
products = paginator.page(1)
except EmptyPage:
# If page is out of range (e.g. 9999), deliver last page of results.
products = paginator.page(paginator.num_pages)
print (len(connection.queries))
return render(request, 'editor-index.html', {
'products': products,
'connection':connection,
'csrf':csrf(request)
})
如何减少其中的查询?最好预取与产品相关的所有数据。这样的事情可能吗?
【问题讨论】:
标签: python django templates model psql