2015-02-09 85 views
0

在我的Django的看法,我在我的CBV下面的代碼:轉換列表或原始設置爲一個查詢集

def get_filtered_queryset(self, queryset): 
    filtered_queryset = # some code here 
    document_queryset = # some code here 
    return set(list(filtered_queryset) + list(document_queryset)) 

如何更改上面的函數返回一個QuerySet呢?

+2

如果你談論的是結合兩個查詢集的兩個不同的模型,你根本無法做到這一點。 – 2015-02-09 08:18:46

回答

0

您不能將listset對象轉換爲QuerySet

根據您正在查看使用的查詢,您可以construct some pretty complex queries using Q Objects

例如:

from django.db.models import Q 
def get_filtered_queryset(self, queryset): 
    filtered_queryset = Q(question__startswith='What') 
    document_queryset = Q(pub_date=date(2005, 5, 2) 
    return Document.objects.get(filtered_queryset | document_queryset)