Django: OR запросы с динамическими именами полей
У меня есть значение, и я хочу получить все экземпляры, имеющие значение в одном или нескольких столбцах. И чтобы сделать это немного сложнее, список полей является динамическим.
Итак, что у меня есть: ['field1', 'field2', 'field3', ...]
Что мне нужно это: Q(field1='value') | Q(field2='value') | Q(field3='value') | ...
Как я могу получить это?
1 ответ
Решение
Использование **
расширение словаря в kw-args:
q = Q()
for field in fields:
q = q | Q(**{field: "value"})
(как Q()
дать Q
который "ничего не делает", насколько я могу судить)