我正在对某些模型进行一些测试,因此我创建了一个变量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)
。这是一个错误吗?我试过没有运气切换到时区。
答案 0 :(得分:1)
如果差异以微秒为单位,则您的数据库可能会截断这些差异。因此,如果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)
将你的断言改为小于或等于。