如何创建一个像这样过滤模型的查询?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