Django - 模型过滤器中的错误查询字符串问题

时间:2018-02-03 19:00:00

标签: python django django-models

我需要在view.py

中运行查询

我目前的代码如下:

q = Owner.objects.filter(name__contains='Maximus')

此代码工作正常。

我必须准备查询字符串name__contains =' Maximus'基于多列值。为此,我正在准备一个queryString,但这是抛出错误。

queryString = ""
queryString += "name__contains="+"'"+ownerName+"'"

我放入过滤器时的查询字符串

q = Owner.objects.filter(queryString)

[在调试中它的价值就像' name__contains = \' Maximus \'']

这不起作用。请建议如何解决。

1 个答案:

答案 0 :(得分:2)

您可以通过以下方式构建包含查询参数的字典:

kwargs = {'name__contains': owner_name, 'field': value, ... }

然后你可以用这样的参数传递字典

q = Owner.objects.filter(**kwargs)