0
我只是想知道是否有任何示例可以从其他人的主题中获取。灵活搜索页面的良好实践 - Django
我在Django中有一个页面,它使用过滤器来执行搜索。
目前我做的GET参数进行简单的检查,并相应增加了.filter()的查询集:
if color:
query.filter(color=color)
这感觉有点像一个丑陋的方式做,我一直在想,如何让它更具活力。
任何想法?
我只是想知道是否有任何示例可以从其他人的主题中获取。灵活搜索页面的良好实践 - Django
我在Django中有一个页面,它使用过滤器来执行搜索。
目前我做的GET参数进行简单的检查,并相应增加了.filter()的查询集:
if color:
query.filter(color=color)
这感觉有点像一个丑陋的方式做,我一直在想,如何让它更具活力。
任何想法?
试试这个:
ALLOWED = ('color', 'size', 'model')
kwargs = dict(
(key, value)
for key, value in request.GET.items()
if key in ALLOWED
)
query.filter(**kwargs)
这将让你做出这样的/search/?color=red&size=1
或/search/?model=Nikon&color=black
请求。
没办法!这很棒!你能用任何函数使用你刚才给我的方法吗? – RadiantHex 2010-07-08 11:25:46
对DateTime有何建议? – RadiantHex 2010-07-08 11:30:12
你可以,但是你不能使用国际字符作为关键字参数的名字,如果你想这样做,你应该使用下面的语法: def test(** kwargs): param = kwargs ['параметр'] # 做一点事。 – 2010-07-13 08:19:38