如何創建一個像這樣過濾模型的查詢?Django Cross過濾搜索?
我的模式是:
class test(models.Model):
name = models.CharField(max_length=50)
status = models.CharField(max_length=50)
other = models.CharField(max_length=50)
我想這樣的替代或者我通過篩選和查詢。我試圖改變|到&但它不起作用。爲了使它更復雜,如果我對模板過濾器的形式,使得:
results = test.objects.filter(name=name1,status=status1,other=other1)
:
Filter By Name: DropDownList of Names
Filter By Status: DropDownList of Statuses
Filter By Other: DropDownList of Others
如果我選擇名稱1,STATUS1和其他1從下拉框中應該顯示的結果
這裏是views.py我當前查詢:
def search(request):
query = request.GET.get('q', '')
if query:
qset = (
Q(name__icontains=query) |
Q(status__icontains=query) |
Q(other__icontains=query)
)
results = test.objects.filter(qset).distinct()
else:
results = []
return render_to_response("test/search.html", {
"results": results,
"query": query
})
這個目前只搜索名稱,狀態或其他。如果我更改|到&它搜索它們的全部,但是當我顯示結果時沒有顯示,因爲表單下拉框中的查詢處理沒有鏈接。如何鏈接它們?如何爲特定領域的下拉菜單提供全部選項?
我希望我已經說清楚了。謝謝。
那麼,你的查詢是什麼? – 2012-01-07 18:23:35
而且,'category'與你的模型有關嗎? – danihp 2012-01-07 21:08:49