저는 현재 일부 디자인을위한 간단한 검색 방법을 만들고 있습니다. 이 쿼리는 작성자 이름과 디자인 텍스트를 모두 검색합니다. 문제 : 데이터베이스에 300,000 개의 디자인이 있고 결과에 페이지 매기기를 수행하려고하면 어떻게됩니까? page
변수를 전달하면 사용자가 다른 페이지로 전환 할 때마다 쿼리가 다시 실행됩니다.어떻게 장고에서 동적 검색의 결과에 페이지 매김을합니까?
이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 가능한 한 많은 검색을 적절하게 캐싱하고 있습니까? 세션 데이터에 일정량을 저장하고 있습니까?
"""
Searches by screenname or design text
"""
def search_designs(request):
designs = None
words = None
if request.method == 'POST':
q = request.POST['search']
words = q.split()
# Get all approved designs
designs = Design.objects.filter(status=2)
for w in words:
designs = designs.filter(name__icontains=w) | designs.filter(author__profile__screenname__icontains=w)
vars = RequestContext(request,
{
'results' : designs,
'words' : words,
})
return render_to_response("search_test.html", vars)
다음을 살펴보십시오 : https://djangosnippets.org/snippets/1592/ – Mortezaipo