我有一个对象列表。我想以这样一种方式显示这些对象,即如果后续对象包含相同的日期,则仅显示第一个唯一日期。如果日期与应显示的日期不同。这是一个例子。
数据:
- ID:2,日期:“01/01/2010”
- id:3,日期:“01/01/2010”
- id:4,日期:“02/02/2010”
我要显示的内容:
- id - 2,“2010 年 1 月 1 日”
- 编号 - 3,
- id - 4,“2010 年 2 月 2 日”
看看 id 3 自从上一个日期是一样的之后怎么什么都没有显示?
如何使用 django 模板执行此操作?我尝试过的一件事是创建一个自定义过滤器。唯一的问题是它使用了一个全局变量,在我看来这是一个禁忌。如何在函数过滤器或 django 模板语言中维护状态以了解先前的值?
__author__ = 'Dave'
#This works but isn't best practice
from django import template
register = template.Library()
a = ''
@register.filter()
def ensure_unique(value):
global a
if a == value:
return ''
else:
a = value
return value