В вашей модели Tutorial вы используете значение по умолчанию для поля внешнего ключа ** tutorial_series **. Это заставляет миграцию проверить, существует ли запись в TutorialSeries
с id=1
, но таких данных нет, поэтому возникает ошибка.
Чтобы избежать ошибки при переносе, удалите on_delete=models.SET_DEFAULT
и default=1
из наших полей, чтобы сделать ваши модели такими:
class TutorialSeries(models.Model):
tutorial_series = models.CharField(max_length=200)
tutorial_category = models.ForeignKey(TutorialCategory,verbose_name="Category")
series_summary = models.CharField(max_length=200)
class Meta:
#Otherwise we get "Tutorial Serie*ss* in admin"
verbose_name_plural = "Series"
def __str__(self):
return self.tutorial_series
class Tutorial(models.Model):
tutorial_title = models.CharField(max_length=200)
tutorial_content = models.TextField()
tutorial_published = models.DateTimeField("date published", default = datetime.now())
tutorial_series = models.ForeignKey(TutorialSeries, verbose_name="Series", blank=True, null=True) #<--changes
tutorial_slug = models.CharField(max_length=200,default=1)
def __str__(self):
return self.tutorial_title
После этого перенесите ваши модели. Затем добавьте данные в TutorialCategory и TutorialSeries с id=1
.
Затем верните ваши модели к первоначальной настройке (с настройками по умолчанию = 1 и on_delete = models.SET_DEFAULT) . Затем снова запустите makemigrations и перенесите ваши модели. После этого ваша проблема может быть решена.