是否可以使用字符串参数过滤模型?
考虑以下过滤器:
some_model.filter(parameter__gte = x)
我想使用字符串构建过滤器参数。
例如。
if equality == ">" and argument == x: query = "{0}__gte".format(parameter)
然后使用该构建的参数进行过滤。
some_model.filter(query = x)
在不使用原始sql的情况下是否可以采用这些方法?
答案 0 :(得分:5)
是。使用字符串作为字典的键和值,然后使用filter
运算符将该字典传递给**
,以将它们用作关键字参数对。使用上面的例子:
filter_arguments = {query: x}
some_model.filter(**filter_arguments)