sql >> Databasteknik >  >> RDS >> PostgreSQL

Django:Ändra TimeField till DateTimeField i models.py

Det beror på att time kan inte konverteras (castas) till timestamp (inte heller deras tidszonsrelaterade varianter) i PostgreSQL. T.ex. detta kommer också att misslyckas:

SELECT 'now'::time::timestamp

I dessa fall bör du använda USING sats i din ALTER TABLE uttalande (om du kan redigera det direkt):

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

Din fråga kommer att se ut så här, t.ex.:

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


  1. Fråga med jokertecken och punkt som inte matchar data med Oracle Text-index

  2. Varför är PostgreSQL-arrayåtkomst så mycket snabbare i C än i PL/pgSQL?

  3. Välj från mysql in i variabeln VB.NET

  4. Oracle.ManagedDataAccess.EntityFramework - ORA-01918:användaren 'dbo' existerar inte