我正在尝试找到一种方法来对添加在一起的模型上的两个字段进行注释。就像是:
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'解析为字段”我已经尝试过此处指示的解决方案:在使用.extra(select = {...})引入的值上使用.aggregate()一个 Django 查询? 但是没有运气仍然得到“无法将关键字'total_amount'解析到字段中”
除了在原始 sql 中执行查询作为传入的查询字符串之外的任何其他操作都可能具有已经对其执行的各种过滤器和排除,这使得该前景有点复杂。我还试图避免将该字段添加到实际模型中并在保存期间计算它的值,除非这是唯一的方法。