sql >> Database teknologi >  >> RDS >> PostgreSQL

Django-formular/databasefejl:værdien er for lang til at typetegn varierer (4)

Ja, gør søjlen bredere. Fejlmeddelelsen er ret klar:dine 200 tegn er for store til at passe i en varchar(4).

Først skal du opdatere dine modelfelter max_length attribut fra 4 til et tal, som du forventer vil være langt nok til at indeholde de data, du tilfører det.

Dernæst skal du opdatere selve databasekolonnen, da django ikke vil automatisk opdatere eksisterende kolonner .

Her er et par muligheder:

1:Slip databasen og kør syncdb igen. Advarsel:du mister alt dine data.

2:Opdater kolonnen manuelt via SQL:

Indtast python manage.py dbshell for at komme ind i din database shell og indtaste

ALTER TABLE my_table ALTER COLUMN my_column TYPE VARCHAR(200)

3:Lær og brug et databasemigreringsværktøj som django south som vil hjælpe med at holde din database opdateret med din modelkode.



  1. DATABOG MySQL

  2. Repliker Microsoft SQL til andre databaser

  3. Hvad virtuelle filstater gør, og ikke gør, fortæller dig om I/O-forsinkelse

  4. SQLiteException ved hjælp af WHERE +KEY_Date+='+date+'