#django #django-models #django-migrations
#django #django-models #django-миграции
Вопрос:
Я пытался реализовать множество решений, которые я нашел здесь, но ничего не помогает, поэтому я ищу ответ.
В моем проекте Django у меня есть Model.py со следующей моделью:
class Boat(models.Model):
boatId = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
manufacturer = models.ForeignKey(Manufacturer, related_name='boatModels', on_delete=models.CASCADE, default=None)
modelName = models.CharField(max_length=256, default=None)
loa = models.FloatField(default=None)
draftMin = models.FloatField(default=None)
draftMax = models.FloatField(default=None)
displacement = models.IntegerField(default=None)
makerURL = models.CharField(max_length=1000, default=None)
videoURL = models.CharField(max_length=1000, default=None)
tags = TaggableManager()
Изначально я получил эту ошибку с последним добавленным полем videoURL
:
Ошибка OperationalError в /boats/ нет такого столбца: boat_app_boat.videoURL
Теперь это этот:
Ошибка переполнения в /admin/boat_app/boat/edc81b63-d8a5-4ab2-887d-97703554dc4e/change/ Python int слишком велик для преобразования в ЦЕЛОЕ число SQLite
Я не справился с удалением старых миграций, как некоторые советовали, но я думаю, что это только ухудшило ситуацию. Каков наилучший способ в конечном итоге выполнить миграцию «по книге», или, если невозможно сказать, я бы принял совет о том, как начать с нуля, поскольку у меня есть только несколько элементов в моей базе данных.
Ответ №1:
потому что CharField допускает 256 символов
если возможно использовать FileField и URLField для videoURL и makerURL