我在Django中有一个视图,它将读取get请求及其参数,并根据参数进行查询。目前我的观点如下:
<li>
但有时,未指定其中一个参数。我希望这会产生一个代表'all'而不是单个值的值。这是否可能以我的方式完成?我尝试了#page {
list-style: none;
counter-reset: newCounter;
padding: 0 0 0 20px;
overflow: visible;
}
#page > .top-list h1 {
display: list-item;
}
#page > .top-list h1:before {
counter-increment: newCounter;
content: counters(newCounter, ".")" ";
}
.inner {
list-style: none;
counter-reset: newCounter;
padding: 0 0 0 20px;
overflow: visible;
}
.inner > h2 {
display: list-item;
}
.inner > h2:before {
counter-increment: newCounter;
content: counters(newCounter, ".")" ";
}
,但这只会产生一个空列表。
答案 0 :(得分:3)
只有在想要过滤某些内容时才需要应用过滤器。你可以这样做:
# Start off with a base queryset
available = Item.objects.all()
allowed_filters = ['category', 'gender', 'size']
for f in allowed_filters:
if request.GET.get(f):
available = available.filter(**{f: request.GET[f]})
data = serializers.serialize('json',available)
return HttpResponse(data,'json')
也就是说,在将输入传递给查询集之前,您可能需要考虑使用Forms API来验证输入。