Ошибка ValueError при миграции в моем проекте Django

Я пытаюсь сделать сайт для потоковой передачи музыки с помощью Django. Когда я использую команду терминала "migrate", у меня возникает такая ошибка: "ValueError: Поле 'song_id' ожидало число, но получило '' ". Я не понимаю, где "song_id" принимает значение, которое не является числом. Как я могу это исправить и в какой строке кода возникла проблема? вот мой views.py:

и вот мой models.py:

class Song(models.Model):
song_id = models.AutoField(primary_key=True)
name = models.CharField(max_length=50)
artist = models.CharField(max_length=50)
album = models.CharField(max_length=50, blank=True)
song = models.FileField(upload_to="media/songs/", validators=[FileExtensionValidator(allowed_extensions=['mp3', 'wav'])], default="name")
image = models.ImageField(upload_to="media/songimage/", validators=[FileExtensionValidator(allowed_extensions=['jpeg', 'jpg', 'png'])], default="https://placehold.co/300x300/png")
data = models.DateTimeField(auto_now=False, auto_now_add=True)
slug = models.SlugField()

def __str__(self):
    return self.name

class Meta:
    ordering = ['name']


class Playlist(models.Model):
    playlist_id = models.AutoField(primary_key=True)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    name = models.CharField(max_length=50, default="name")
    image = models.ImageField(upload_to="media/images/", validators=[FileExtensionValidator(allowed_extensions=['jpeg', 'jpg', 'png'])])
    slug = models.SlugField()

    def __str__(self):
        return self.user.first_name


class LikedSong(models.Model):
    liked_id = models.AutoField(primary_key=True)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    music_id = models.CharField(max_length=50, default="name")

    def __str__(self):
        return self.user.first_name

Проблема заключалась в старых миграциях. Я удалил файлы миграций (например, 00XX_*.py) (НИКОГДА не удаляйте файлы миграций, если хотите сохранить данные! и не удаляйте директорию и init.py), сбросил БД (если вы используете sqlite, вы можете легко удалить файл sqlite) и снова сделал миграции

Вернуться на верх