次のように大まかに定義された 2 つのモデルがあります。
class InformationUnit(models.Model):
username = models.CharField(max_length=255)
project = models.ForeignKey('Project')
...
class Project(models.Model):
name = models.CharField(max_length=255)
InformationUnit
ここで、ビューで、プロジェクトに属するすべての に注釈を付けたいので、次のようにします。
p = Project.objects.all().annotate(Count('informationunit')
これは問題なく動作します。
さらに、各プロジェクトで、いくつusername
の が参加しているかを知りたいです。つまり、1 つのプロジェクトを構成する のusername
中にいくつの異なる があるかを数えます。私は次のことを試しましたが、 に関係なく、InformationUnit
単に の数を数えます:InformationUnit
username
p = Project.objects.all().annotate(Count('informationunit__username')
username
はオブジェクトではなく、文字列であることに注意してください。これを行うためのきれいな方法はありますか、それともループとスパゲッティコードに基づいてより複雑なコードを作成する必要があります:P
どうもありがとう!