我正在尋找一種方法來用相關項目的子集計數來對註釋集進行註釋。下面是我的模型的一個子集:Django ORM:統計相關項目的子集
class Person(models.Model):
Name = models.CharField(max_length = 255)
PracticeAttended = models.ManyToManyField('Practice',
through = 'PracticeRecord')
class Club(models.Model):
Name = models.CharField(max_length = 255)
Slug = models.SlugField()
Members = models.ManyToManyField('Person')
class PracticeRecord(PersonRecord):
Person = models.ForeignKey(Person)
Practice = models.ForeignKey(Practice)
class Practice(models.Model):
Club = models.ForeignKey(Club, default = None, null = True)
Date = models.DateField()
我期待讓這詮釋的一個人參加了俱樂部的具體做法的數量查詢集。我已經可以通過查詢Person.objects.all().annotate(Count('PracticeRecord'))
查詢該人員的實踐總數,但我希望能夠註釋某人蔘加特定俱樂部的實踐數量。
我寧願使用django ORM,而不必訴諸寫入原始SQL。
謝謝。
哇,這很酷,完美的作品...我不知道,如果我過濾了一個特定的領域,那麼聚合也將在過濾行。出於好奇,你知道這種行爲是否在任何地方的文檔中都有提及? – JudoWill 2010-10-11 14:49:51