#django
#django
Вопрос:
Когда я пытаюсь добавить записи с сервера администратора, я получаю указанную выше ошибку
class Pizza(models.Model):
name_text = models.CharField(max_length=200)
def __init__(self):
self.name_text
class Topping(models.Model):
name = models.ForeignKey(Pizza, on_delete=models.CASCADE)
text = models.CharField(max_length=100)
def __init__(self):
self.text
Ответ №1:
Не переопределяйте __init__
метод моделей Django, особенно таким образом, чтобы пропустить вызов суперкласса __init__
.
class Pizza(models.Model):
name_text = models.CharField(max_length=200)
class Topping(models.Model):
name = models.ForeignKey(Pizza, on_delete=models.CASCADE)
text = models.CharField(max_length=100)
все в порядке.
Комментарии:
1. Мои предыдущие модели, похоже, работали с этим методом. Но вы правы, удалив его, проблема решена. Спасибо
Ответ №2:
Похоже, вы использовали __init__
вместо __str__
. __str__
используется для предоставления строкового представления объекта, __init__
используется для инициализации объекта. Вам также необходимо вернуть результат:
class Pizza(models.Model):
name_text = models.CharField(max_length=200)
def __str__(self):
return self.name_text
class Topping(models.Model):
name = models.ForeignKey(Pizza, on_delete=models.CASCADE)
text = models.CharField(max_length=100)
def __str__(self):
return self.text