2011-07-18 2 views
1

私はDjangoで私のクエリセットに注釈をつけています。別のテーブルマッピングの値をそのまま使っています。djangoの外部キーがwhere句でagrregatesする

lw_list = lw_list.annotate(count_mapping=Count('mapping')) 

(LWのオブジェクトはマッピングオブジェクトと一対多の関係を持っている)

だから今、私LWリスト内の各オブジェクトは、関連マッピングオブジェクトの数を持っています。 マッピングオブジェクトにブール値フィールド 'pass_fail'があります

マッピングテーブルにwhere句を入れることは可能ですか?アグリゲートは "pass_fail"値がtrueに設定されているマッピングオブジェクトのみをカウントしますか?

どうすればよいですか?

答えて

0

これはDjangoのORMを使用して今行われているとは思えません。あなたが望むものについてはa pretty active ticket、ここにはa pretty hackish workaroundがあります。私はあなたの最善の策は今のところ生のSQLを使用することだと思います。

+0

ありがとう、私はいくつかのハックの回避策が掲載されているのを見ました。私はそれが少し簡単かもしれないと思っていた。 –