Django:OR查询与动态字段名称

时间:2012-04-26 19:30:36

标签: django django-models django-queryset

我有一个值,希望让所有实例都具有一列或多列中的值。为了使这更复杂,字段列表是动态的。

所以,我所拥有的是:['field1', 'field2', 'field3', ...]

我需要的是:Q(field1='value') | Q(field2='value') | Q(field3='value') | ...

我怎么能得到这个?

1 个答案:

答案 0 :(得分:7)

使用**字典到kw-args扩展:

q = Q()
for field in fields:
    q = q | Q(**{field: "value"})

(因为Q()会产生一个Q,其“无所事事”,据我所知)