Django - 在模型中,created_at是一个UNIX时间戳



我是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 对象时都输入此内容。

谢谢-

我的目的是不必在每次创建 Status 对象时都输入此内容。

这已经通过auto_now_add=True选项解决了。创建Status对象时,created字段将使用当前日期时间填充。

我希望在保存到数据库之前看看它是否存储为 UNIX 值?

您可以随时将datetime值从 Status.created 转换为 Unix 时间戳。通常最好将其存储为默认数据库日期时间格式(DatetimeField所做的),而不是将其存储为时间戳,时间戳只是一个整数。

但是,您提供的示例中使用的库django-unixdatetimefield指出"UnixDateTimeField基于标准Django DateTimeField的实现,使其与它支持的所有功能和选项100%兼容。因此,您应该能够为该字段提供auto_now_add=True选项。

相关内容

最新更新