Да, сделать колонку шире.Сообщение об ошибке совершенно ясно: ваши 200 символов слишком велики, чтобы поместиться в varchar (4).
Сначала обновите атрибут поля модели max_length
с 4 до числа, которое, как вы ожидаете, будет достаточно длинным, чтобы содержать данные, которые вы его вводите.
Далее вам нужно обновить сам столбец базы данных, так как django не будет автоматически обновлять существующие столбцы .
Вот несколько вариантов:
1: Отбросить базу данных и снова запустить syncdb.Предупреждение: вы потеряете все свои данные.
2: вручную обновите столбец с помощью SQL.
Введите python manage.py dbshell
, чтобы войти в оболочку базы данных, и введите
ALTER TABLE my_table ALTER COLUMN my_column TYPE VARCHAR(200)
3: Изучите и используйте инструмент миграции базы данных, например django south , который поможет обновлять базу данных с помощью кода модели.