Я что-то упустил с makemigrations в Django?
Я работаю над проектом Django и испытываю трудности с добавлением нового поля в класс модели. Я еще совсем новичок, но вот как выглядит мой класс модели Manager:
class Manager(models.Model):
''' Create Manager model that the database will be used to create the database.
Manager will house any and all necessary information about league managers. '''
manager_id = models.CharField(max_length=255,primary_key=True)
team_name = models.CharField(max_length=255,null=True)
display_name = models.CharField(max_length=255)
record = models.CharField(max_length=255,null=True)
У меня есть другой класс Лига:
class League(models.Model):
''' The League table will house necesary information for the current season's league. '''
league_id = models.BigIntegerField(primary_key=True)
num_of_teams = models.IntegerField()
sport = models.CharField(max_length=25)
league_name = models.CharField(max_length=255)
previous_league_id = models.BigIntegerField()
year = models.IntegerField()
, который содержит поле "league_id". Я пытаюсь добавить ссылку Foreign Key в классе Manager на поле "league_id" в классе League. Я попытался добавить в конец класса Manager:
league_id = models.ForeignKey("League",on_delete=models.CASCADE, db_column='league_id', default=0)
Не уверен, что что-то не так, но при попытке запустить makemigrations я получаю следующую ошибку:
django.db.utils.OperationalError: no such column: fantasy_basketball_manager.league_id
Версия Django - 5.0.4 Версия Python - 3.12.0
Я пытался удалить базу данных, удалить файлы предыдущих миграций и несколько других вещей. Все это, как я знаю, не всегда хорошо, но я пробовал практически все, что нашел в Интернете. Я восстановил все удаления, чтобы они вернулись к исходному состоянию. Я в растерянности, что попробовать, поскольку все, что я пробовал, приводило к тем же/подобным ошибкам.
** Редактировать 1 ** Мне удалось запустить makemigrations и выполнить миграцию, но только после того, как я вручную создал столбец в базе данных. Кто-нибудь знает, почему так происходит и как избежать этого в будущем?
** Правка 2 **. Добавил класс League в модель, как просил комментарий.