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

Mar*_*tin 3 django django-models django-queryset

我有一个值,并希望获得具有一列或多列值的所有实例.为了使这更复杂,字段列表是动态的.

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

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

我怎么能得到这个?

Dav*_*ver 7

使用**dictionary-to-kw-args扩展:

q = Q()
for field in fields:
    q = q | Q(**{field: "value"})
Run Code Online (Sandbox Code Playgroud)

(据我所知,Q()收益率Q"无所作为")