2013-09-24 54 views
1

我的代碼使用當前列出一個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"。我如何訂購清單?

回答

4

的 「無法解析餘數」 的錯誤是因爲你,包括你的Django模板的Python代碼。 Django不允許這樣做。

你可以在模型上添加一個方法:

def sorted_domains(self): 
    return self.domain_set.all().order_by('url') 

然後調用它像這樣:

{% for domain in server.sorted_domains %} 

另一種方法是用Meta attribute設置默認排序順序您Domain模型。

+0

很棒的建議+1。 –

+0

@BurhanKhalid同意了,我真的很喜歡這個,而不是在模板中這樣做。更乾淨。 – alecxe