我的代碼使用當前列出一個server
所有domains
:如何訂購一組對象的視圖中的
{% for domain in server.domain_set.all %}
我想通過自己的URL中的視圖命令的域。例如:
{% for domain in server.domain_set.all().order_by('url') %}
但我收到一個異常"could not parse the remainder"
。我如何訂購清單?
我的代碼使用當前列出一個server
所有domains
:如何訂購一組對象的視圖中的
{% for domain in server.domain_set.all %}
我想通過自己的URL中的視圖命令的域。例如:
{% for domain in server.domain_set.all().order_by('url') %}
但我收到一個異常"could not parse the remainder"
。我如何訂購清單?
您可以使用dictsort過濾器:
注意到詞典列表,並返回該列表由給定參數的關鍵 排序。
{% for domain in server.domain_set.all|dictsort:'url' %}
另見:
的 「無法解析餘數」 的錯誤是因爲你,包括你的Django模板的Python代碼。 Django不允許這樣做。
你可以在模型上添加一個方法:
def sorted_domains(self):
return self.domain_set.all().order_by('url')
然後調用它像這樣:
{% for domain in server.sorted_domains %}
另一種方法是用Meta attribute設置默認排序順序您Domain
模型。
很棒的建議+1。 –
@BurhanKhalid同意了,我真的很喜歡這個,而不是在模板中這樣做。更乾淨。 – alecxe