gpt4 book ai didi

django - 在 django 的管理站点中为表单使用不同的时区

转载 作者:行者123 更新时间:2023-12-02 03:28:18 25 4
gpt4 key购买 nike

我想知道 django 的管理站点是否有可能在两个不同的时区接受一个模型的两个日期时间字段。

例如假设我有一个像这样的模型:

class A(models.Model):
time_a = models.DateTimeField()
time_b = models.DateTimeField()

当我使用 django 的管理站点添加或编辑 A 的实例时,我希望我可以在 UTC+8 中填写字段 time_a,在 UTC+9 中填写 time_b。即,如果我用 08:00 填充 time_a,用 09:00 填充 time_b,它们在 UTC 中是相同的。

我知道我可以重写 A 的 save() 方法并通过自己进行 timedelta 计算来手动处理输入,但我想知道是否有更方便或更合适的方法来执行此操作。

最佳答案

我想你可以扩展 Django 的 DateTimeField ( https://github.com/django/django/blob/master/django/db/models/fields/init.py#L1332 ),改变它的 init 接受一个参数 default_timezone 和改变 to_python 方法(它继承自 DateField https://github.com/django/django/blob/master/django/db/models/fields/ init.py#L1257) 以使用该 default_timezone。

我没有测试过

编辑:你所看到的粗体 init 实际上是一个 dunder init(init 前面有两个下划线,后面有两个下划线)。我只是不知道如何在 stackoverflow 中禁用标记。

关于django - 在 django 的管理站点中为表单使用不同的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29005404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com