gpt4 book ai didi

django - 在 Django 中通过 .annotate() 创建的字段上使用 .extra()

转载 作者:行者123 更新时间:2023-12-03 03:09:52 25 4
gpt4 key购买 nike

我想检索表中每个对象的两个字段(它们本身就是聚合)的总和。

以下内容可能会更好地描述我所追求的内容,但会导致字段列表中出现未知列-错误:

items = MyModel.objects.annotate(
field1=Sum("relatedModel__someField"),
field2=Sum("relatedModel__someField")).extra(
select={"sum_field1_field2": "field1 + field2"})

我还尝试使用 F() 进行字段查找,但这给了我一个无效的 sql 语句。

非常感谢任何有关如何解决此问题的想法。

最佳答案

这就是你想要的吗?

items = MyModel.objects.extra(
select = {'sum_field1_field2': 'SUM(relatedModel__someField) + SUM(relatedModel__someField)'},
)

关于django - 在 Django 中通过 .annotate() 创建的字段上使用 .extra(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4899014/

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