计算 ManyToManyField 中的值 - Django
Count values in ManyToManyField - Django
我需要一些帮助。我有一个模型 "Event" with manytomanyfield "users":
class Event(models.Model):
name = models.CharField(max_length=26)
description = models.CharField(max_length=200)
date = models.DateField()
user = models.ForeignKey(User)
users = models.ManyToManyField(User, related_name="event", blank=True)
image = models.ImageField(
upload_to='images/',
default='images/default.png'
)
因此,manytomany 中介 table 有两个字段:user_id
和 event_id
。
如何计算这个table中有多少event_id = 1
或event_id = 2
...?谢谢
您只需要以下事件模型:
class Event(models.Model):
name = models.CharField(max_length=26)
description = models.CharField(max_length=200)
date = models.DateField()
user = models.ManyToMany(User, related_name="events")
image = models.ImageField(
upload_to='images/',
default='images/default.png'
)
然后从 User
的对象(比如 logged_in_user
)你可以调用 logged_in_user.events.all()
来获取所有事件。或者,如果您只需要事件 ID,则 logged_in_user.events.values_list('id', flat=True)
如果你只是想要一个计数,那么它应该是 logged_in_user.events.count()
。如您所见,您可以像对待任何其他管理器一样对待 events
(就像您的用户模型中的对象)。
如果您需要 event_id
参加单个活动的用户数。用户这个:Event.objects.get(id=event_id).users.count()
我需要一些帮助。我有一个模型 "Event" with manytomanyfield "users":
class Event(models.Model):
name = models.CharField(max_length=26)
description = models.CharField(max_length=200)
date = models.DateField()
user = models.ForeignKey(User)
users = models.ManyToManyField(User, related_name="event", blank=True)
image = models.ImageField(
upload_to='images/',
default='images/default.png'
)
因此,manytomany 中介 table 有两个字段:user_id
和 event_id
。
如何计算这个table中有多少event_id = 1
或event_id = 2
...?谢谢
您只需要以下事件模型:
class Event(models.Model):
name = models.CharField(max_length=26)
description = models.CharField(max_length=200)
date = models.DateField()
user = models.ManyToMany(User, related_name="events")
image = models.ImageField(
upload_to='images/',
default='images/default.png'
)
然后从 User
的对象(比如 logged_in_user
)你可以调用 logged_in_user.events.all()
来获取所有事件。或者,如果您只需要事件 ID,则 logged_in_user.events.values_list('id', flat=True)
如果你只是想要一个计数,那么它应该是 logged_in_user.events.count()
。如您所见,您可以像对待任何其他管理器一样对待 events
(就像您的用户模型中的对象)。
如果您需要 event_id
参加单个活动的用户数。用户这个:Event.objects.get(id=event_id).users.count()