PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Django-Formular-/Datenbankfehler:Wert zu lang für Typzeichenvariable(4)

Ja, machen Sie die Spalte breiter. Die Fehlermeldung ist ziemlich klar:Ihre 200 Zeichen sind zu groß, um in ein varchar(4) zu passen.

Aktualisieren Sie zuerst Ihre Modellfelder max_length Attribut von 4 zu einer Zahl, von der Sie erwarten, dass sie lang genug ist, um die Daten zu enthalten, mit denen Sie sie füttern.

Als nächstes müssen Sie die Datenbankspalte selbst aktualisieren, da django dies nicht tun wird vorhandene Spalten automatisch aktualisieren .

Hier sind einige Optionen:

1:Löschen Sie die Datenbank und führen Sie syncdb erneut aus. Warnung:Sie werden alles verlieren Ihre Daten.

2:Aktualisieren Sie die Spalte manuell über SQL:

Geben Sie python manage.py dbshell ein um in Ihre Datenbank-Shell zu gelangen und geben Sie ein

ALTER TABLE my_table ALTER COLUMN my_column TYPE VARCHAR(200)

3:Lernen und verwenden Sie ein Datenbankmigrationstool wie django south Dies wird dazu beitragen, Ihre Datenbank mit Ihrem Modellcode auf dem neuesten Stand zu halten.