7
我有兩個模型(Event和UserProfile)以ManyToMany關係。我只想選擇那些與其關聯的用戶少於一定數量的事件。因此,應該選擇至少有4人已經註冊的活動。Django根據ManyToMany對象的數量進行查詢篩選
在views.py我有這樣的事情,但它不工作:
proposed_event_list = Event.objects.all().filter(userprofile__lt=4)
models.py樣子的相關部分:
class Event(models.Model):
name = models.CharField(max_length=100)
date = models.DateTimeField('Event date')
class UserProfile(models.Model):
user = models.OneToOneField(User)
event_commitments = models.ManyToManyField(Event, null=True, blank=True)
我想我沒有正確用每個事件的所有Userprofiles過濾,但我不知道該怎麼做。
你能幫忙嗎?
請看看文檔或谷歌的ORM的annotations和聚合,應該讓你開始。 – Jingo
我已經完成了。我正在尋找更具體的建議。給定的標準過濾器似乎根據單個相關模型對象的特定屬性進行過濾,而不是一組對象。我想我正在尋找似乎更加深奧一些的信息。 – KindOfGuy
Uha,看着Yuji的建議,我意識到我沒有看到你說的話。感謝您的建議! – KindOfGuy