Python 有没有办法降低datetime对象的精确度?

Python 有没有办法降低datetime对象的精确度?,python,datetime,python-3.x,django-1.8,Python,Datetime,Python 3.x,Django 1.8,我正在尝试按时间过滤以从sqlite3数据库中删除消息。我获取一个精确到分钟的字符串,将其转换为datetime对象,并对消息的QuerySet使用filter函数。然而,数据库中的条目远比字符串精确,因此我要查找的消息也被过滤掉了 我正在使用自动生成datetime对象 class Message(models.Model): .... time = models.DateTimeField(auto_now_add=True) 我正在使用 Message.objects.a

我正在尝试按时间过滤以从sqlite3数据库中删除消息。我获取一个精确到分钟的字符串,将其转换为datetime对象,并对消息的QuerySet使用filter函数。然而,数据库中的条目远比字符串精确,因此我要查找的消息也被过滤掉了

我正在使用自动生成datetime对象

class Message(models.Model):
    ....
    time = models.DateTimeField(auto_now_add=True)
我正在使用

Message.objects.all().filter(time=time)
例如,我用来创建要筛选的datetime对象的字符串是“Dec.5,2015,5:07 PM”,用于创建datetime对象“2015-12-05 05:07:00”。然而,我要寻找的信息来自“2015-12-05 17:07:19.308321”


是否有一个选项可以使自动生成的datetime对象的精度降低到一分钟而不是一秒钟?

不这样认为,但您可能可以在目标datetime和下一分钟之间进行过滤。此外,如果您愿意使用自定义模型字段,请将
datetime字段
子类化并覆盖
预保存
。在那里,您可以计算时区。now()并降低精度。只是一个观察:希望两个真实世界的datetime对象能够精确地、逐位地彼此相等,就像希望两个浮点数相等一样。是的,这是个幸运的意外。通常,您需要使用时间值的范围,而不是相等。您可以保存