如何传入fieldname来过滤django?

时间:2012-09-05 09:57:19

标签: django

如果你知道要过滤哪个字段名,那么在Django中过滤是非常简单的:

Entry.objects.filter(headline__startswith="What")

但是如果我想传递“标题”字段名称会变得更加困难:

kwargs = {request.GET['fieldname'] : request.GET['query']}
Entry.objects.filter(**kwargs)

上述解决方案的问题是,如何传递__startswith

1 个答案:

答案 0 :(得分:1)

kwargs = {"%s__startswith" % (request.GET['fieldname']) : request.GET['query']}
Entry.objects.filter(**kwargs)