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

Django:Změňte TimeField na DateTimeField v models.py

To proto, že time nelze převést (přenést) na timestamp (ani jejich varianty související s časovým pásmem) v PostgreSQL. F.ex. toto také selže:

SELECT 'now'::time::timestamp

V těchto případech byste měli použít USING klauzule ve vaší ALTER TABLE výpis (pokud jej můžete upravit přímo):

ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ]
ALTER [ COLUMN ] column_name
[ SET DATA ] TYPE data_type [ COLLATE collation ] [ USING expression ]

Váš dotaz bude vypadat např.:

ALTER TABLE "my_model"
ALTER COLUMN "column_name"
SET DATA TYPE TIMESTAMP WITH TIME ZONE USING 'yesterday'::date + "column_name"


  1. Struts + Hibernate:@SessionTarget nefunguje

  2. Podporuje jarní spouštěcí aplikace OpenJDK

  3. Ukládání negregoriánských dat v typu data Mysql

  4. Vynutit časový limit na MysqlQuery z PHP