次のように大まかに定義された 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単に の数を数えます:InformationUnitusername
p = Project.objects.all().annotate(Count('informationunit__username')
usernameはオブジェクトではなく、文字列であることに注意してください。これを行うためのきれいな方法はありますか、それともループとスパゲッティコードに基づいてより複雑なコードを作成する必要があります:P
どうもありがとう!