我正在使用Django 1.5。我创建了一个通用函数来使用ORM从数据库中获取数据 目前我正在将字典传递给此函数来过滤数据。请参阅以下代码
objTable.objects.values(*listArg).filter(**dictFilter)
这工作正常。现在我在其中一个表中有一个日期时间字段。我需要将它与日期进行比较,因此我需要一个如下所示的查询
where DATE(start_date)<= '2013-08-08'
目前检查小于或等于i的日期是否会传递像
这样的字典{'start_date__lte':datetime.date.today()}
由于'start_date'是一个日期时间字段,其存储值如'2013-08-07 00:00:00'如何格式化此字段然后使用小于或等于?
答案 0 :(得分:0)
不要使用类似'2013-08-08'的字符串而是使用python日期对象,您可以将字符串转换为类似
的日期import datetime
{'start_date__lte': datetime.datetime.strptime('2013-08-08', '%Y-%m-%d').date()}
答案 1 :(得分:0)
使用datetime.combine从datetime
对象生成date
:
{'start_date__lte': datetime.datetime.combine(datetime.date.today(), datetime.time())}
答案 2 :(得分:0)
我相信你可以做到这一点。如果你想在今天实时比较。
import datetime
{'start_date__lte':datetime.datetime.now()}