Django: Template: QuerySet の指定した index のインスタンスの参照

  • 配列ではないので、数値でインデクシングできない
{{ e.expenseitem_set.0 }} {# NG #}

1件目, 最後

{{ e.expenseitem_set.first.account_name }}
{{ e.expenseitem_set.last.account_name }}

テンプレートフィルター

1
2
3
4
5
6
7
from django import template

register = template.Library()

@register.filter
def index(queryset, i):
    return queryset[i]
1
{% load expenses %} {{ e.expenseitem_set|index:1 }}

QuerySet のインクシング

  • list のように -1 などの Python のインデクシングはできない (するには list(queryset) で list に変換する)