Django ManyToMany возвращает ошибку «MultipleObjectsReturned при рендеринге» - PullRequest
0 голосов
/ 18 апреля 2011

Впервые в Django, поэтому извиняюсь, если это поразительно очевидно.

Модели моего приложения включают в себя класс Band, класс Release для музыкальных компакт-дисков и класс 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, поэтому я не уверен, почему он пытается их получить.

Полный обратный отсчет здесь.

Спасибо, Мэтт

1 Ответ

0 голосов
/ 19 апреля 2011

Не берите в голову - внутри своих взглядов я имел в виду пресс-вар, которого больше не было.Раздражает, что Django не указывает на эту конкретную строку кода, но все исправлено!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...