Django如何列出日期明智的模型对象

时间:2015-03-22 14:44:03

标签: django

我有一个模型,我需要从中列出给定时间段内的所有对象。 例如:10-05-2014 to 10-12-2014 然后我需要明确地显示对象。含义首先显示在start_date(10-05-2014) up until end_date(10-12-2014)

上创建的对象
For example: 
    10-05-2014:
         objects list for that day
    11-05-2014:
         objects list for that day
    and so on until end_date

查询:

MyModel.objects.unsettled.filter(
            created_on__range=[start_date, end_date]
        )

但我的问题是如何在模板中按日期顺序列出查询集。这样在同一日期创建的所有对象都将在该日期下显示。简而言之,我想在按日期划分的部分中显示列表。

MyModel.objects.unsettled.filter(created_on__range = [start_date,end_date])。order_by(" created_on")。但它只会对列表进行排序。如何对结果进行分组。??

1 个答案:

答案 0 :(得分:1)

使用{% ifchanged %}模板标记:

{% for obj in obj_list %}

    {% ifchanged %}
        <h2>{{ obj.created_on|date }}</h2>
    {% endifchanged %}

    <div>{{ obj.name }}</div>

{% endfor %}

另一个(稍微复杂一点)选项是使用{% regroup %}标记。