python - 无法自动转换列 "date"以键入带时区的时间戳 django/postgres

标签 python django postgresql date

有一个 date charfield ,当我之前将日期保存为字符串时。但是现在我将字段从 charfield 更改为 datetimefield 并删除了所有以前的数据。

date = models.DateTimeField(default=timezone.now)

在本地运行良好,但在生产中尝试迁移时会引发以下错误。我删除了列、模型、注释和取消注释、删除并再次创建该字段、返回到以前的迁移并再次迁移,但所有这些都没有帮助。

    django.db.utils.ProgrammingError: column "date" cannot be cast automatically to type timestamp with time zone
HINT:  You might need to specify "USING date::timestamp with time zone".

如何正确解决问题?使用 django 1.8、python 2.7 和 postgres

最佳答案

对于在尝试将整数列转换为时间戳时在 Google 上发现此问题的任何人:

ALTER TABLE my_table
ALTER COLUMN my_column
TYPE timestamp with time zone
USING to_timestamp(my_column);

关于python - 无法自动转换列 "date"以键入带时区的时间戳 django/postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43965016/

相关文章:

python - 在 subprocess.call() 中使用带反引号的命令替换

python - 如何在pygame中添加一个具有我原始图像形状的白色表面?

python - 在模板中使用特定的平面图

django - 为什么我在带有嵌套 if 的模型内的方法中没有得到任何值?

mysql - SQL:基于另一个字段值的条件字段输出

sql - PostgreSQL 表变量

postgresql - 无法授予在架构上创建 View

python - 类型对象 'Book' 没有属性 'order_by'

python - 将文件从 Python 客户端上传到 Django 服务器

python - Django、mod_wsgi、 Apache : Internal server error