Django ManyToMany返回错误“MultipleObjectsReturned while rendering”

时间:2011-04-17 21:49:16

标签: django

对于Django来说,如果这一点非常明显,那么他就会道歉。

我的应用程序的模型包括一个Band类,一个用于音乐CD的Release类,以及一个用于评论这些CD的Press类。 Press类看起来像这样:

class Press(models.Model):
    def __unicode__(self):
        return self.title

    class Meta:
        verbose_name_plural = "Press"

    band = models.ManyToManyField('Band', null=True, blank=True)
    release = models.ManyToManyField('Release', null=True, blank=True)    
    title = models.CharField(max_length=500)
    article = models.TextField(blank=True)
    url = models.URLField(max_length=100, blank=True)
    screenshot = models.ImageField(upload_to='press/', blank=True)

我最近改变了这个(之前,乐队/发行版是ForeignKeys)并重新启动了我的数据库。现在,每当我尝试列出我的版本时,我都会收到此错误:

“渲染时抓住MultipleObjectsReturned:get()返回多个按 - 它返回4!查找参数是{}”

导致此问题的代码是:

def release_list(request):
    r = Release.objects.order_by('-release_date')[:5]
    return {'release_list' : r}

我在做一些明显错误的事吗?我不是要访问任何Press字段,所以我不确定为什么要尝试获取它们。

Full traceback here.

谢谢, 马特

1 个答案:

答案 0 :(得分:0)

没关系 - 在我的观点中,我指的是不再存在的Press var。令人恼火的是,Django没有指出那段特定的代码,但都是固定的!