【问题标题】:Save datetime value from Django to Postgres将日期时间值从 Django 保存到 Postgres
【发布时间】:2018-06-15 10:10:00
【问题描述】:

这是我的views.py

class UpdateListMyShipmentView(UpdateView):
    model = models.Shipment
    fields = []

    def get_success_url(self):
        return reverse_lazy('request:my_shipment')

    def form_valid(self, form):
        print(timezone.localtime(timezone.now()))
        form.instance.time_finished_shipment = timezone.localtime(timezone.now())
        form.save()
        return super().form_valid(form)

这是命令行中 print() 方法的值:

2018-06-15 16:54:29.499707+07:00

这是将值保存到数据库后在数据库中的结果:

2018-06-15 09:43:39.025761+00

为什么不一样?

【问题讨论】:

    标签: django python-3.x postgresql


    【解决方案1】:

    您的数据库时区和项目时区不同。这解释了 +00 与 +07:00 的差异......但分钟差异( 43.36 与 54.29 )我猜这只是一个复制错误?

    【讨论】:

    • 你能说得更详细一点吗,或者给我一个关键字来解决上面的问题,好吗?
    • @QuocHuy 如果您希望可以通过将时区值设置为与数据库相同的值来解决 django 端的问题:docs.djangoproject.com/en/2.0/topics/i18n/timezones/…。如果数据库正在运行 UTC 时区(如果项目是全局的)或者当数据库使用您的本地时区(如果项目是本地的)时,请执行此操作。否则在 postgres 中进行更改。无论如何:stackoverflow.com/questions/12675723/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-04
    • 1970-01-01
    • 2013-08-10
    相关资源
    最近更新 更多