2016-04-13 6 views
0

私のRelatedModelにはProductオブジェクトを指す外部キーフィールドがあります。 Product UUIDあたりのRelatedModelの数を数えようとしています。Djangoでvalues()クエリに注釈を付ける

RelatedModel.objects.all().values(fk_product__uuid).annotate(total=Count('id')) 

これは私を与える:

[ 
{'total': 3, 'fk_product__uuid': UUID('195b6aa8-6a57-62c6-89d1-3397bf69d928')}, 
{'total': 7, 'fk_product__uuid': UUID('2a6a6a98-1a17-4cca-8111-2212b951003a')}, 
... 
] 

私は私のUUIDを単に「UUID」と呼ばれるキーが、私はannotateを得る難しさを抱えているが、逆の関係に作業することを好むだろう。リストを後処理することなくこれを行う方法はありますか?シャンの提案(テストや作業)以下の参考のために

+0

素晴らしいああ!ありがとうShang、私は "名前を変更"、単に "注釈"で検索しませんでした。答えは 'django.db.models.F'です – Escher

答えて

0

q = Product_r.objects.all().annotate(uuid=F('fk_product__uuid')).values('uuid').annotate(total=Count('id')).order_by('total') 
関連する問題