gpt4 book ai didi

添加了额外的字段上的 Django 注释

转载 作者:行者123 更新时间:2023-12-04 02:26:51 25 4
gpt4 key购买 nike

我试图找到一种方法来对添加在一起的模型上的两个字段进行注释。就像是:

total_done = qs.values(
'ability__ability_name',
).extra(
select={
'total_amount': 'effective_value + overage',
}
).annotate(
total=Sum('total_amount'),
).values(
'ability__ability_name', 'total_amount'
).order_by('-total_amount')

以上不起作用并产生错误“无法将关键字'total_amount'解析为字段”
我已经尝试过这里指出的解决方案: Using .aggregate() on a value introduced using .extra(select={...}) in a Django Query?
但是没有运气仍然得到“无法将关键字'total_amount'解析到字段中”

除了在原始 sql 中执行查询作为传入的查询字符串之外的任何其他操作都可能具有各种过滤器和排除已经在其上执行的操作,从而使该前景变得有点复杂。我还试图避免将字段添加到实际模型中并在保存期间计算它的值,除非这是唯一的方法。

最佳答案

我认为最好通过用户注释来获得 total_amount 值(value):

total_done = qs.values(
'ability__ability_name',
).annotate(
total_amount=F('effective_value') + F('overage')
total=Sum('total_amount'),
).values(
'ability__ability_name', 'total_amount'
).order_by('-total_amount')

关于添加了额外的字段上的 Django 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6028991/

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