创建模型实例前的时间戳不小于模型实例创建时间戳django

Timestamp before creating model instance not less than model instance creation timestamp django

我在某些模型上进行了一些测试,所以我创建了一个变量 before_creation = datetime.now()

我的模型有一个字段定义为

date_created = models.DateTimeField(auto_now_add=True)

在我的测试中,这是怎么做到的

before_creation create_model_instance 然后测试 before_creation 小于 mymodel.date_created,在我看来应该通过,但它失败并显示以下消息 AssertionError: datetime.datetime (some timestamp) not less than datetime.datetime ((some other timestamp)。这是一个错误吗?我试过切换到时区,但没有成功。

如果差异以微秒为单位,则您的数据库可能会截断它们。因此,如果 before_creation 位于 12:00:00.005,而 date_created 位于 12:00:00.008,则 date_created 将返回为 12:00:00。那么你会有 before_creation > date_created.

检查以确保不是这种情况。或者使用:

before_creation = datetime.now().replace(microseconds=0)

并将您的断言更改为小于或等于。