मैं जिस Django साइट का निर्माण कर रहा हूं, उसकी खोज का निर्माण करने का प्रयास कर रहा हूं और उस खोज में, मैं 3 अलग-अलग मॉडलों में खोज रहा हूं। और खोज परिणाम सूची पर पृष्ठांकन प्राप्त करने के लिए, मैं परिणामों को प्रदर्शित करने के लिए एक सामान्य ऑब्जेक्ट_सूची दृश्य का उपयोग करना चाहूंगा। लेकिन ऐसा करने के लिए, मुझे 3 क्वेरी को एक में मिलाना होगा।
मैं उसे कैसे कर सकता हूँ? मैंने यह कोशिश की है:
result_list = []
page_list = Page.objects.filter(
Q(title__icontains=cleaned_search_term) |
Q(body__icontains=cleaned_search_term))
article_list = Article.objects.filter(
Q(title__icontains=cleaned_search_term) |
Q(body__icontains=cleaned_search_term) |
Q(tags__icontains=cleaned_search_term))
post_list = Post.objects.filter(
Q(title__icontains=cleaned_search_term) |
Q(body__icontains=cleaned_search_term) |
Q(tags__icontains=cleaned_search_term))
for x in page_list:
result_list.append(x)
for x in article_list:
result_list.append(x)
for x in post_list:
result_list.append(x)
return object_list(
request,
queryset=result_list,
template_object_name='result',
paginate_by=10,
extra_context={
'search_term': search_term},
template_name="search/result_list.html")
लेकिन यह काम नहीं करता है। जब मैं जेनेरिक दृश्य में उस सूची का उपयोग करने का प्रयास करता हूं तो मुझे एक त्रुटि मिलती है। सूची में क्लोन विशेषता गायब है।
क्या किसी को पता है कि मैं तीन सूचियों को कैसे मर्ज कर सकता हूं page_list
, article_list
और post_list
?
union
।