Django:或查询动态字段名称

标签 django django-models django-queryset

我有一个值,并希望获得在一列或多列中具有该值的所有实例。为了让这更复杂一些,字段列表是动态的。

所以,我得到的是:['field1', 'field2', 'field3', ...]

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

我怎样才能得到这个?

最佳答案

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

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

(据我所知,Q() 产生一个“什么都不做”的 Q)

关于Django:或查询动态字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10340106/

相关文章:

python-3.x - Django 管理员,不能按 : Exception Value: 'dict' object has no attribute '_meta' 分组

python - Django,从模型获取属性

python - 上传文件时显示微调器 Django 和 Ajax

python - 我们如何在多个表中引用一个外键?

python - 在django中迁移模型时如何解决SQLdecode错误?

如果 decimal_places == max_digits,Django DecimalField 不接受 0

python - Django 。在不影响其 updated_at 字段的情况下增加对象的查看次数

django - 比较 django TestCase 中的查询集

python - Django:如何在 django 中循环查询集并将 bool 字段更改为 True?

python - Django:用于存储 float 列表的模型字段?