আমি যে জ্যাঙ্গো সাইটটি তৈরি করছি তার সন্ধানটি তৈরি করার চেষ্টা করছি এবং সেই অনুসন্ধানে আমি 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
।