Django:使用__contains和** kwargs过滤器

时间:2012-09-26 03:12:14

标签: django

我有一个属性,以字符串形式传入,我用它来调用X.objects.filter(** {string:TION})。这将返回X类型的所有对象,其属性字符串为“TION”。是否有可能用__icontains,__contains来做这种** kwargs输入?这会怎么样?

1 个答案:

答案 0 :(得分:2)

只需从您的属性中构建一个包含__contains的字符串。

更明确地说,你需要类似的东西:

query_type = '{0}__contains'
query_key = query_type.format(string)
X.objects.filter(**{query_key: 'TION'})

或只是

X.objects.filter(**{string + '__contains': 'TION'})