Я хотел бы отобразить подмножество фиксированной длины набора связанных объектов в шаблоне Django. Например, представьте, что у меня есть автомобиль, с которым связан объект Owner. Я хотел бы отобразить три самых последних владельца, но также всегда отображать три записи, даже если их меньше. Так
Ford Fiesta AA11 1AA
1. John Smith
2. Jane Smith
3. Jenny Smith
Aston Martin DB9
1. Richard Rich
2.
3.
, даже если у Fiesta было 10 владельцев (а у DB9 был только один).
Наивный способ сделать это будет
<h1>{{car.name}}</h1>
<ol>
{% for owner in car.owner_set|slice:":3" %}
<li>{{owner.name}}</li>
{% endfor %}
</ol>
, но при этом отображается только один элемент списка, если был только один владелец.
Я мог бы также добавить такие строки, как
{% if car.owner_set|length < 2 %}<li></li>{% endif %}
{% if car.owner_set|length < 3 %}<li></li>{% endif %}
но это ужасно. Есть ли лучший способ сделать это?