Kin*_*Guy 9 django many-to-many views count filter
我在ManyToMany关系中有两个模型(Event和UserProfile).我想只选择那些与其关联的用户数少于一定数量的事件.因此,应该选择迄今为止少于4人注册的活动.
在views.py中我有这样的东西,但它不起作用:
proposed_event_list = Event.objects.all().filter(userprofile__lt=4)
Run Code Online (Sandbox Code Playgroud)
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)
Run Code Online (Sandbox Code Playgroud)
我想我没有正确地过滤每个事件上的所有Userprofiles,但我不知道该怎么做.
你能帮我吗?
Yuj*_*ita 13
Event.objects.annotate(c=Count('userprofile')).filter(c__lt=4)
Run Code Online (Sandbox Code Playgroud)