2017-12-30 40 views
0
SELECT *, 
     (SELECT sum(amount) FROM history 
     WHERE history_id IN 
         (SELECT history_id FROM web_cargroup 
         WHERE group_id = a.group_id) AND type = 1) 
     as sum 
      FROM web_car a; 

ORMクエリ(サブクエリ)にSQLクエリを変換します。 2. 'in'条件にサブクエリを配置することは困難です。のpythonジャンゴ - 1. ORMの注釈を自動的にすることで、グループによって作成されたORMする上記のクエリを変換することは非常に困難である

助けてください。

+1

ただ、生のクエリを使用して、それを使って行うことを動作するはずです。..(https://docs.djangoproject.com/en/2.0/topics/db/sql /) –

+0

モデルを共有できますか? – maverick

答えて

0

私はあなたが提示したモデルを理解していれば、これは

from django.db.models import Sum 

History.objects.filter(
    type=1, 
    id__in=(CarGroup.objects.values('history_id')) 
).aggregate(
    total_amount=Sum('amount') 
) 
+0

私はすべての情報をweb_carテーブルに入れたいと思っています。 –

関連する問題