3

我在 Django 模板中设置了一个查询。它有一个价格列。我只想显示最后一行的价格。是否有任何模板过滤器可以帮助解决这个问题?

4

3 回答 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 回答