2017-03-16 7 views
0

次のように私は、使用率を管理するためのInt能力を含む属性を持つモデル、およびFK関係を持っている:モデル属性に対してアノテーションを使用してDjango ORMクエリをフィルタリングする方法はありますか?

class Container(Model): 
    objects = ContainerManager() 

    capacity = PositiveSmallIntegerField(default=1) 



class Item(Model): 
    container = ForeignKey('Container', related_name='items' 

Managerは関連付けられたアイテムの数、すなわち予備の容量を持っているコンテナを見つける必要がありますコンテナ。私はアイテムをカウントするために、アノテーションを使用していますが、このような、すなわち容量なもので、これを比較する方法を考え出すことはできません。..

get_queryset().annotate(utilisation=Count('items').filter(capacity__gt=utilisation) 

は1つのクエリで、このことは可能ですか?

答えて

0

、それは他の人を助け場合ので、私は

get_queryset().annotate(utilisation=Count('items').filter(capacity__gt=F(utilisation)) 
...解決策は、F()式を使用することです..自分の質問に答えますよ
関連する問題