一緒に追加されたモデルの 2 つのフィールドに注釈を付ける方法を見つけようとしています。何かのようなもの:
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' をフィールドに解決できません」というエラーが表示されます。 Django クエリ? ただし、「キーワード 'total_amount' をフィールドに解決できません」というメッセージが表示されることはありません。
渡されるクエリ文字列として生のSQLでクエリを実行する以外は、さまざまなフィルターと除外が既に実行されている可能性があり、その見通しが少し複雑になります。また、それが唯一の方法でない限り、フィールドを実際のモデルに追加して保存中にその値を計算することを避けようとしています。