我在 Django 模板中设置了一个查询。它有一个价格列。我只想显示最后一行的价格。是否有任何模板过滤器可以帮助解决这个问题?
问问题
3990 次
3 回答
10
那些建议使用过滤器 {{ queryset | 最后一个}}不对。这样你会得到“不支持负索引”。
因此,唯一的方法似乎是编写自定义过滤器或使用丑陋的结构,例如:
{% for obj in queryset %}
{% if forloop.last %}
{{ obj.price }}
{% endif %}
{% endfor %}
UPD:根据 Django 更改日志 {{ queryset.last }} 将从 1.6 开始工作
于 2013-09-24T09:57:44.247 回答
2
如https://stackoverflow.com/a/18978385/2478304中提到的 Django 2.2 作品
{{ order.first.id }}
{{ order.last.id }}
于 2019-09-10T14:15:18.127 回答
0
对我来说queryset.reverse()
,first
模板过滤器在获取查询集的最后一个条目方面做得很好:
{{ objects.reverse.all|first }}
于 2020-09-30T12:14:14.187 回答