gpt4 book ai didi

python - 使用 Extra 和 Filter 的 Django OR 查询

转载 作者:行者123 更新时间:2023-11-28 16:31:30 30 4
gpt4 key购买 nike

我正在尝试使用 Django 的 ORM 来生成使用 extra 和 filter 方法的查询。像这样:

Model.objects.filter(clauseA).extra(clauseB).all()

这会生成一个查询,但问题是过滤子句中的所有内容都与 extra 子句中的所有内容进行 AND 运算,因此 sql 看起来像:

SELECT * FROM model WHERE clauseA AND clauseB. 

我的问题是,有没有一种方法可以更改 Django 中查询的默认组合运算符,以便生成的查询将是:

SELECT * FROM model WHERE clauseA OR clauseB. 

最佳答案

尝试 Q object

Model.objects.filter(Q(clauseA) | ~Q(clauseB))

编辑

试试这个

Model.objects.filter(clauseA) | Model.objects.extra(clauseB)

关于python - 使用 Extra 和 Filter 的 Django OR 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31457732/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com