คำถามติดแท็ก django-q

12
วิธีรวมแบบสอบถามสองชุดขึ้นไปในมุมมอง Django
ฉันพยายามสร้างการค้นหาเว็บไซต์ Django ที่ฉันกำลังสร้างและในการค้นหานั้นฉันกำลังค้นหาใน 3 แบบที่แตกต่างกัน และเพื่อให้ได้เลขหน้าในรายการผลการค้นหาฉันต้องการใช้มุมมอง object_list ทั่วไปเพื่อแสดงผลลัพธ์ แต่การทำเช่นนั้นฉันต้องรวม 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 …

13
จะเขียนตัวกรองการสืบค้น OR ใน Django แบบไดนามิกได้อย่างไร?
จากตัวอย่างคุณจะเห็นตัวกรองคำค้นหา OR หลายตัว: Article.objects.filter(Q(pk=1) | Q(pk=2) | Q(pk=3)) ตัวอย่างเช่นผลลัพธ์ใน: [<Article: Hello>, <Article: Goodbye>, <Article: Hello and goodbye>] อย่างไรก็ตามฉันต้องการสร้างตัวกรองคำค้นหานี้จากรายการ ต้องทำอย่างไร? เช่น [1, 2, 3] -> Article.objects.filter(Q(pk=1) | Q(pk=2) | Q(pk=3))
104 python  django  django-q 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.