2013-07-23 36 views
1

基本上,我有两个模型,Profile和Event。该配置文件拥有一个ownedEvent M2M到事件表。该模型是这样的:检查是否存在M2M关系

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') 

在网页中,我要显示的取决于事件是否具有所有者或不是两件事情之一。查看页面的用户可能不一定是主人,所以我只需要检查是否有有人在那里拥有该事件。我如何检查我的模板中的这个?

回答

4

如果我理解你的问题,你要知道,给予Event,是否有在ownedEvent M2M表中与其关联的任何Profiles。如果这是正确的,你可以做你的视图代码如下:

is_owned = some_event.owned_set.exists() 

,然后通过is_owned到您的模板为条件处理。

0

我不是这个100%肯定,但我认为你可以这样做......

if profiles=Profile.objects.filter(ownedEvent=YOUREVENT): 
    #What you want if it is owned 
else: 
    #What you want if it isn't owned