Я пытаюсь определить некоторые отношения ManyToMany в Django, но у меня есть ошибка при попытке создать связанные объекты.Django: ошибка отношения ManyToMany (объект не имеет атрибута)
Мой models.py:
class PerfumeBrand(models.Model):
class Meta:
verbose_name = "Marque de parfum"
verbose_name_plural = "Marques de parfum"
name = models.CharField(max_length=32)
def __str__(self):
return self.person.first_name + ' ' + self.person.last_name.upper() + ': ' + self.name
class Person(models.Model):
class Meta:
verbose_name = "Personne"
verbose_name_plural = "Personnes"
first_name = models.CharField(max_length=32,)
last_name = models.CharField(max_length=32)
email = models.EmailField(unique=True)
# Here is the ManyToMany relation
perfume_brands = models.ManyToManyField(PerfumeBrand)
Проблема заключается в том, что, когда я пытаюсь сохранить объект PerfumeBrand в моей базе данных, я получаю эту ошибку:
AttributeError в/админ/визуализации/perfumebrand/добавить/
объект 'PerfumeBrand' не имеет атрибута 'человек'
Я попытался сохранить как в коде, так и в панели администратора, происходит такая же ошибка.
Поскольку это первый раз, когда мне нужно отношение ManyToMany в проекте Django, я немного смущен, и я не нашел решения для моей проблемы.
Есть ли у вас какие-либо идеи?
Действительно, PerfumeBrand не имеет атрибут 'person'. Итак, почему вы используете 'self.person' в методе' __unicode__'? –