如何从 ManyToManyField 获取数据 - Django
How to get data from ManyToManyField - Django
我在从模型事件的此 ManyToManyField(用户)中检索数据时遇到问题:
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="users", blank=True)
image = models.ImageField(
upload_to='images/',
default='images/default.png'
)
users = models.ManyToManyField 创建一个额外的 table "events_event_users" ,存储user_id和event_id字段。所以我想输出来自 Event 模型的所有事件信息,其中 user_id 来自那个额外的 table 等于 request.user。请帮忙,我该怎么办?
你可以做到request.user.users.all()
请注意,由于您设置的 related_name 定义了从用户到事件的后向关系,因此造成不必要的混淆。忽略它,代码更容易理解:
request.user.event_set.all()
(如果一定要设置一个,至少要叫events
,不要叫users
。)
我在从模型事件的此 ManyToManyField(用户)中检索数据时遇到问题:
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="users", blank=True)
image = models.ImageField(
upload_to='images/',
default='images/default.png'
)
users = models.ManyToManyField 创建一个额外的 table "events_event_users" ,存储user_id和event_id字段。所以我想输出来自 Event 模型的所有事件信息,其中 user_id 来自那个额外的 table 等于 request.user。请帮忙,我该怎么办?
你可以做到request.user.users.all()
请注意,由于您设置的 related_name 定义了从用户到事件的后向关系,因此造成不必要的混淆。忽略它,代码更容易理解:
request.user.event_set.all()
(如果一定要设置一个,至少要叫events
,不要叫users
。)