2
反向外鍵我有以下for
循環我在模板中創建:如何訂購在Django
{% for task in item.task_set.all %}
<li class="task">
{{ task }}
</li>
{% endfor %}
有沒有辦法訂購task_set。它目前通過ID訂購,但我想按任務名稱訂購。
反向外鍵我有以下for
循環我在模板中創建:如何訂購在Django
{% for task in item.task_set.all %}
<li class="task">
{{ task }}
</li>
{% endfor %}
有沒有辦法訂購task_set。它目前通過ID訂購,但我想按任務名稱訂購。
如果你是快樂的總是通過任務的名字訂購的任務,使用ordering選項
class Task(models.Model):
name = models.CharField(max_length=50)
class Meta:
ordering = ['name']
如果你想要一個不同的排序比模型的默認排序,你可以設置的順序然後在模板中遍歷tasks
。
# view
tasks = item.task_set.order_by('name')
# template
{% for task in tasks %}
由於無法將參數傳遞給{{ item.task_set.order_by }}
,因此無法更改模板中的排序。如果您確實需要在模板中指定查詢集的順序,則需要編寫custom template filter。