请教个关于 django filter 的简单问题。

2014-09-22 15:07:08 +08:00
 shanshuise
一般django取数据的时候所用的是类似这种Entry.objects.filter(name=4)的写法,name是models.py里的模型的属性。


但是模型的属性有许多个,我想做一个最简单的搜索,要搜索的属性与该属性的值都来自html中提交。也就是用户向搜索哪个属性自己在html页面里边选择好。

但是在views.py里用request.POST.get("")来获取到的是字符串,不知道该怎么写view才能将上边第一段里边的name换成用户选择的属性?
2812 次点击
所在节点    Django
3 条回复
thinker3
2014-09-22 21:00:01 +08:00
wangyongbo
2014-09-22 21:45:48 +08:00
python 里面可以使用** 传入字典参数。
def f(**kwargs):
for k, v in kwargs.items():
print k, v

你可以把 传上来的参数组合为一个字典 Entry.objects.filter(**kwargs)
shanshuise
2014-09-24 10:58:36 +08:00
@wangyongbo 最后使用的是这个方法。实测可行,多谢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/134963

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX