добавить default=""
к полю генерации
class Song(models.Model):
album = models.ForeignKey(Album, on_delete=models.CASCADE)
file_type = models.CharField(max_length=10)
song_title = models.CharField(max_length=250)
genre = models.CharField(max_length=250, default="")
def __str__(self):
return self.song_title
Как показывает сообщение об ошибке, вы добавляете поле genre
к Song
модели, не добавляя к ней default=""
и null=True
параметров.При переносе django не знает, как обращаться со старыми данными, которые были вставлены в базу данных без поля жанра.Таким образом, вы должны установить для них значение NULL с null=True
или другое значение по умолчанию с default=""
.
Вы также можете просто сохранить свой код.Но когда вы используете команду migrate, вы должны указать django, что вы дадите значение по умолчанию, как рекомендовано django:
1) Укажите одноразовое значение по умолчанию (будет установлено во всех существующих строках)с нулевым значением для этого столбца)
нажмите клавиши 1
и enter
.введите ""
и затем django установит все старые данные genre=""
.