Rad*_*Hex 0 python django filter django-models django-queryset
我只是想知道我是否可以从其他人那里得到关于这个话题的例子.
我在Django中有一个使用过滤器的页面,以便执行搜索.
目前我正在对GET参数进行简单检查,并相应地向查询集添加.filter():
if color:
query.filter(color=color)
Run Code Online (Sandbox Code Playgroud)
这感觉有点像丑陋的方式,我有点卡住想知道如何让它变得更有活力.
有任何想法吗?
试试这个:
ALLOWED = ('color', 'size', 'model')
kwargs = dict(
(key, value)
for key, value in request.GET.items()
if key in ALLOWED
)
query.filter(**kwargs)
Run Code Online (Sandbox Code Playgroud)
这将允许您发出这样的请求/search/?color=red&size=1或/search/?model=Nikon&color=black.