gpt4 book ai didi

python - django - 使 datetimefield 接受 unix 时间戳

转载 作者:太空狗 更新时间:2023-10-30 02:19:06 24 4
gpt4 key购买 nike

我想让模型的 DateTimefield 接受 unix 时间戳(以秒为单位)值。

我找到了这个,但接受的解决方案不起作用?
unixtimestamp input in DataTimeField

即我看不出添加“%s”作为输入格式如何工作,尤其是当标准日期时间字段的 to_python() 代码不包含任何处理 unix 时间戳的逻辑时。

如果有一个设置可以让我做到这一点,那就太好了。
否则,我想我想要的是 DateTimeField 的子类,并在我设置值时以某种方式自动将 int 转换为 datetime 对象。我想在保存而不是覆盖 save() 之前执行此操作,因为我希望在检索该字段的值时保持一致性。即,当我取出值时,无论实例是否已保存,我都不想担心我是否有日期时间对象或 int。

我查看了 django.db.models.fields 的源代码,它对我来说并不明显。

最佳答案

pip 包 django-unixdatetimefield 提供了一个 UnixDateTimeField 字段,您可以开箱即用 (https://pypi.python.org/pypi/django-unixdatetimefield/)。

示例模型:

from django_unixdatetimefield import UnixDateTimeField

class MyModel(models.Model):
created_at = UnixDateTimeField()

Python ORM 查询:

>>> m = MyModel()
>>> m.created_at = datetime.datetime(2015, 2, 21, 19, 38, 32, 209148)
>>> m.save()

数据库:

sqlite> select created_at from mymodel;
1426967129

如果有兴趣,这里是源代码 - https://github.com/Niklas9/django-unixdatetimefield .

免责声明:我是这个 pip 包的作者。

关于python - django - 使 datetimefield 接受 unix 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32178637/

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