3

I have a value and want to get all instances having the value in one or more column. And to make this a bit more complex, the field list is dynamic.

So, what I have is: ['field1', 'field2', 'field3', ...]

What I need is: Q(field1='value') | Q(field2='value') | Q(field3='value') | ...

How can I get this?

Martin
  • 4,170
  • 6
  • 30
  • 47

1 Answers1

7

Use ** dictionary-to-kw-args expansion:

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

(as Q() yield a Q which "does nothing", as far as I can tell)

David Wolever
  • 148,955
  • 89
  • 346
  • 502