テーブル内の各オブジェクトの2つのフィールドの合計を取得したいとします。Djangoの.annotate()で作成されたフィールドで.extra()を使用する
以下は、後に、より良い私は何ビットを記述することができるが、Unknown column in field list
- エラーの結果は:
items = MyModel.objects.annotate(
field1=Sum("relatedModel__someField"),
field2=Sum("relatedModel__someField")).extra(
select={"sum_field1_field2": "field1 + field2"})
私は、フィールドのルックアップのためのF()を使用してみましたが、それは私に無効なSQLステートメントを与えます。
これを解決するためのアイデアは大変ありがたいです。
「不明な列」エラーが「注釈」ではなく「余分な」エラーを参照していますか?トレースバックを表示してください。 –
'annotate'だけを使用すると、クエリは正常に実行されます。両方の合計が返されたオブジェクトにフィールドとして追加されます。 'extra'が使われるときだけ、例外が送出されます。 – jnns
+1:同じ問題を抱えていても解決策を見つけられませんでした。 –