sql >> Databasteknik >  >> RDS >> PostgreSQL

Django-formulär/databasfel:värde för långt för att typtecken varierar (4)

Ja, gör kolumnen bredare. Felmeddelandet är ganska tydligt:​​dina 200 tecken är för stora för att få plats i en varchar(4).

Uppdatera först dina modellfält max_length attribut från 4 till ett tal som du förväntar dig kommer att vara tillräckligt långt för att innehålla den data du matar med den.

Därefter måste du uppdatera själva databaskolumnen eftersom django inte kommer att uppdatera befintliga kolumner automatiskt .

Här är några alternativ:

1:Släpp databasen och kör syncdb igen. Varning:du kommer att förlora alla dina data.

2:Uppdatera kolumnen manuellt via SQL:

Skriv in python manage.py dbshell för att komma in i ditt databasskal och skriv in

ALTER TABLE my_table ALTER COLUMN my_column TYPE VARCHAR(200)

3:Lär dig och använd ett databasmigreringsverktyg som django south som hjälper till att hålla din databas uppdaterad med din modellkod.



  1. Övervakning av prestandaräknare via PERFMON | Felsökning av SQL Server-prestanda -3

  2. Få appar med det högsta antalet recensioner sedan en dynamisk serie av dagar

  3. Beräknar tidsskillnad i MySQL men tar hänsyn till händelser

  4. Hur man skriver involverad rekursiv subquery i sqlplus med flera tabeller för att spåra noder?