PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Błąd formularza/bazy danych Django:zbyt długa wartość dla zmiennej typu znak(4)

Tak, poszerz kolumnę. Komunikat o błędzie jest dość jasny:twoje 200 znaków jest za duże, aby zmieścić się w varchar(4).

Najpierw zaktualizuj pola modelu max_length atrybut od 4 do liczby, która według Ciebie będzie wystarczająco długa, aby zawierać dane, którymi go zasilasz.

Następnie musisz zaktualizować samą kolumnę bazy danych, ponieważ django nie automatycznie aktualizuj istniejące kolumny .

Oto kilka opcji:

1:Upuść bazę danych i ponownie uruchom syncdb. Ostrzeżenie:stracisz wszystko Twoje dane.

2:Ręczna aktualizacja kolumny za pomocą SQL:

Wpisz python manage.py dbshell aby dostać się do powłoki bazy danych i wpisać

ALTER TABLE my_table ALTER COLUMN my_column TYPE VARCHAR(200)

3:Naucz się i używaj narzędzia do migracji bazy danych, takiego jak django south co pomoże aktualizować bazę danych za pomocą kodu modelu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak napisać funkcję kombinatoryczną w postgresie?

  2. Jak grupować i liczyć według dnia w Railsach w Postgresie?

  3. Jak zaimplementować Wybierz do aktualizacji w EF Core

  4. Migracje Rails do istniejącej bazy danych

  5. Jak sprawdzić, czy wiersz istnieje w procedurze składowanej PostgreSQL?