按创建日期显示Django对象

时间:2012-10-11 20:00:12

标签: django datetime django-queryset

我为一家食品配送公司建立了一个电子商务网站。他们每晚从晚上7点到凌晨2点开始交货。

我想构建一个页面,他们可以从一开始就查看所有订单,并按每个日期划分。但是10月8日交货的一天包括从8月8日晚上7点到11点59分交货,以及10月9日凌晨12:00到凌晨2点交货。

我对如何通过“创建日期”过滤对象有一个大致的想法,但我不知道如何聚合所有不同的日子并以有组织的方式显示它们。

我也在使用python 2.6,所以我无法将每天的订单存储在有序的字典中。

1 个答案:

答案 0 :(得分:3)

<强> EDITED

也许您正在寻找query range来选择一部分数据。样品:

start_date = datetime.datetime(2012, 2, 17, 19, 00, 00, 00)
end_date = datetime.datetime(2012, 2, 23, 59, 00, 00, 00)
Deliveries.objects.filter(deliveries_date__range=(start_date, end_date))

(未经测试)

但是,重读你的问题或许你的问题是表示层,然后,在你的模板中你应该按天“削减”数据。您可以使用ifchange block tag检查模板中是否有某些字段更改:

{% for deliver in deliveries %}
    {% ifchanged deliver.deliveries_date.date %} 
            {{ deliver.deliveries_date.date }} 
    {% endifchanged %}
    ...
{% endfor %}