我需要在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 \'']
这不起作用。请建议如何解决。
答案 0 :(得分:2)
您可以通过以下方式构建包含查询参数的字典:
kwargs = {'name__contains': owner_name, 'field': value, ... }
然后你可以用这样的参数传递字典
q = Owner.objects.filter(**kwargs)