sql >> Databáze >  >> RDS >> PostgreSQL

Chyba formuláře/databáze Django:hodnota je příliš dlouhá pro typový znak se liší (4)

Ano, udělejte sloupek širší. Chybová zpráva je zcela jasná:vašich 200 znaků je příliš velkých na to, aby se vešly do varchar(4).

Nejprve aktualizujte pole modelu max_length atribut od 4 do čísla, o kterém očekáváte, že bude dostatečně dlouhé na to, aby obsahovalo data, která do něj vkládáte.

Dále musíte aktualizovat samotný sloupec databáze, protože django nebude automaticky aktualizovat stávající sloupce .

Zde je několik možností:

1:Zrušte databázi a znovu spusťte syncdb. Upozornění:ztratíte vše vaše data.

2:Ručně aktualizujte sloupec pomocí SQL:

Zadejte python manage.py dbshell abyste se dostali do svého databázového shellu a zadejte

ALTER TABLE my_table ALTER COLUMN my_column TYPE VARCHAR(200)

3:Naučte se a používejte nástroj pro migraci databáze, jako je django jih což vám pomůže udržovat vaši databázi aktualizovanou kódem vašeho modelu.



  1. Jak převést SDO_GEOMTRY v GeoJSON

  2. Úvod do SQL Server 2017

  3. Jak mohu zadat heslo pro 'psql' neinteraktivně?

  4. Jak se připojit k MySQL pomocí Node.js