PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Django:Променете TimeField на DateTimeField в models.py

Това е така, защото time не може да се преобразува (кастира) в timestamp (нито техните варианти, свързани с часовата зона) в PostgreSQL. F.ex това също ще се провали:

SELECT 'now'::time::timestamp

В тези случаи трябва да използвате USING клауза във вашата ALTER TABLE израз (ако можете да го редактирате директно):

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

Вашата заявка ще изглежда така, напр.:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Последователност, запазвайки много към много

  2. Трябва ли хибернацията да използва уникални последователности за всяка таблица?

  3. Postgres ON CONFLICT зададена колона препратка е двусмислена

  4. Декларираният размер на полето varchar има ли някакво влияние в PostgreSQL?

  5. Как да добавите PostgreSQL драйвер като зависимост в Maven?