我有这样的模型
foo=models.char
bar=models.dateime
有几个泡沫在一天之内到达不同的时间。我需要列出特定日期的所有foos,无论它们到达的时间。 我无法更改模型,因此将栏分为两个字段(一个用于日期,一个用于时间)现在无法实现:(
答案 0 :(得分:2)
我个人使用range
过滤器和内部datetime
时间戳来表示最大/分钟。例如:
date = datetime.date.today()
YourModel.objects.filter(bar__range=(
datetime.datetime.combine(
date,
datetime.time.min
),
datetime.datetime.combine(
date,
datetime.time.max
),
))
答案 1 :(得分:0)
假设日期时间格式如下:YYYYMMDD HHmmss 例如:20100611 171000将是1020年6月11日,下午5:10
假设具有以下日期的模型列表: 20100609 120000 20100611 161204 20100611 121204 20100611 191204
你想要20100611的所有型号,用伪代码你可以做到:
for (model in models)
if (model.datetime >='20100611 000000' or model.datetime<='20100611 235959')
filtered_foos.add(model.foo)
这将有效地忽略日期的时间部分(抱歉,我没有python解释器,语法明显关闭,但你应该明白了)