PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Грешка във формуляр/база данни на Django:стойността е твърде дълга за променлив тип символ (4)

Да, направи колоната по-широка. Съобщението за грешка е съвсем ясно:вашите 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 което ще ви помогне да поддържате вашата база данни актуализирана с кода на вашия модел.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво е еквивалентът на DO блок за Postgres <9.0

  2. Как да премахна всички таблици в psql (интерактивен терминал PostgreSQL), които започват с обща дума?

  3. Граници на думите на PostgreSQL Regex?

  4. Вземете PostGIS версия

  5. Неуспешно зареждане на sql модули в клъстера на базата данни по време на инсталацията на PostgreSQL