sql >> Database >  >> RDS >> PostgreSQL

Django:verander TimeField in DateTimeField in models.py

Dat komt omdat time kan niet worden geconverteerd (gecast) naar timestamp (noch hun tijdzone-gerelateerde varianten) in PostgreSQL. vb. dit zal ook mislukken:

SELECT 'now'::time::timestamp

In deze gevallen moet u de USING . gebruiken clausule in uw ALTER TABLE statement (als je het direct kunt bewerken):

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

Uw zoekopdracht ziet er bijvoorbeeld als volgt uit:

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


  1. Multi-datacenterconfiguraties met PostgreSQL

  2. Probleem bij het gebruik van het TEKST-veld in de mysql-tabel

  3. Oracle PLSQL een cursor instellen vanuit een variabele

  4. oracle to_date-conversie die de letterlijke weergave niet overeenkomt met de tekenreeksindeling