1
import datetime as dt 
dt.datetime.strptime( '2000', '%Y' )

创建一个日期对象,我可以将其放入 djangomodels.DateField( )

但是,一旦将 DateField 提交到数据库,我就无法检查与等效源日期时间对象是否相等:

>>> dt.datetime.strptime( '2000', '%Y' ) == myRecalledDbObj.dateFieldVal
False

并打印它们会显示:

1961-12-23 00:00:00
1961-12-23

那么...如何比较等效性?

4

1 回答 1

2

您正在将日期时间与日期进行比较。这些永远不会相等。尝试在您的日期时间上调用 date 方法以将其与 django 中的 DateField 进行比较,或者将您的模型切换为使用 DateTimeField。

dt.datetime.strptime('2000', '%Y').date() == myRecalledDbObj.dateFieldVal
于 2013-07-01T16:53:55.550 回答