Не удается изменить мою модель Django с помощью миграций

#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