我是 Django 的新手。我会在 Rails 中更好地掌握这一点,但对 Python/Django 中的所有库和转换还不够熟悉。
我有一个模型:
class Status(models.Model):
created = models.DatetimeField(auto_now_add=True)
结果格式为:
"created": "2017-01-06T22:21:51.531723Z"
我希望在保存到它作为 UNIX 值存储的数据库之前查看是否?
这看起来很有希望 https://stackoverflow.com/a/34843855/3007294但无法让它工作。每次我尝试创建 Status 对象时,我都会收到此错误:
Datetime has wrong format. Use one of these formats instead: YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HH:MM|-HH:MM|Z].
我的意图是不必在每次创建 Status 对象时都输入它。
谢谢-
最佳答案
My intentions are to not have to enter this every time a Status object is created.
auto_now_add=True
option 已经解决了这个问题.当您创建 Status
对象时,created
字段将填充当前日期时间。
I was hoping to see if before saving to the DB that it stores as a UNIX value?
您可以随时将 datetime
值从 Status.created
转换为 Unix 时间戳。以默认数据库日期时间格式(DatetimeField
所做的)存储它通常优于将其存储为时间戳,后者只是一个整数。
但是,您提供的示例中使用的库,django-unixdatetimefield
,声明“UnixDateTimeField 基于标准 Django DateTimeField 的实现,使其 100% 兼容它支持的所有功能和选项。”因此,您应该能够为该字段提供 auto_now_add=True
选项。
关于python - Django - 在模型中,created_at 是一个 UNIX 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41515414/