sql >> Database >  >> RDS >> PostgreSQL

Django formulier/database fout:waarde te lang voor type karakter variërend(4)

Ja, maak de kolom breder. De foutmelding is vrij duidelijk:je 200 karakters zijn te groot om in een varchar(4) te passen.

Werk eerst uw modelvelden bij max_length attribuut van 4 tot een getal waarvan u verwacht dat het lang genoeg is om de gegevens te bevatten die u eraan geeft.

Vervolgens moet u de databasekolom zelf bijwerken, aangezien django dat niet doet automatisch bestaande kolommen bijwerken .

Hier zijn een paar opties:

1:Laat de database vallen en voer syncdb opnieuw uit. Waarschuwing:je verliest alles uw gegevens.

2:Werk de kolom handmatig bij via SQL:

Typ python manage.py dbshell om in uw database-shell te komen en typ in

ALTER TABLE my_table ALTER COLUMN my_column TYPE VARCHAR(200)

3:Leer en gebruik een databasemigratietool zoals django south waarmee u uw database up-to-date kunt houden met uw modelcode.



  1. SQL vervangen of invoegen in syntaxisfout

  2. System.ArgumentException:De tabeltypeparameter moet een geldige typenaam hebben

  3. Een scheidingsteken toevoegen aan een aaneengeschakelde tekenreeks in MySQL - CONCAT_WS()

  4. Fout met MySQLdb op OS X El Capitan