Django 检查是否存在M2M关系
基本上,我有两个模型,Profile和Event。配置文件在事件表中有一个ownedEvent M2M。模型如下所示:Django 检查是否存在M2M关系,django,django-models,Django,Django Models,基本上,我有两个模型,Profile和Event。配置文件在事件表中有一个ownedEvent M2M。模型如下所示: class Profile(models.Model): user = models.OneToOneField(User) name = models.CharField(max_length=50) eventList = models.ManyToManyField(Event, blank="TRUE", null="TRUE", related
class Profile(models.Model):
user = models.OneToOneField(User)
name = models.CharField(max_length=50)
eventList = models.ManyToManyField(Event, blank="TRUE", null="TRUE", related_name='event_set+')
ownedEvent = models.ManyToManyField(Event, blank="TRUE", null="TRUE", related_name='owned_set')
在网页上,我想根据事件是否有所有者来显示两件事中的一件。查看页面的用户不一定是所有者,因此我只需要检查是否有人拥有该事件。如何在我的模板中检查这一点?我对此不是100%确定,但我认为您可以执行以下操作
if profiles=Profile.objects.filter(ownedEvent=YOUREVENT):
#What you want if it is owned
else:
#What you want if it isn't owned
我不是100%确定,但我认为你可以做一些像
if profiles=Profile.objects.filter(ownedEvent=YOUREVENT):
#What you want if it is owned
else:
#What you want if it isn't owned
如果我理解您的问题,您想知道,给定一个
事件
,在ownedEvent
M2M表中是否有与之相关的配置文件
。如果是这样,您可以在视图代码中执行以下操作:
is_owned = some_event.owned_set.exists()
然后将
is_owned
传递给您的模板进行条件处理。如果我理解您的问题,您想知道,给定事件
,在ownedEvent
M2M表中是否有任何与之相关的配置文件
。如果是这样,您可以在视图代码中执行以下操作:
is_owned = some_event.owned_set.exists()
然后将is_owned
传递给模板进行条件处理