1

domains私のコードは現在、使用中のすべてをリストしていますserver:

{% for domain in server.domain_set.all %}

ビュー内のドメインを URL で並べ替えたい。何かのようなもの:

{% for domain in server.domain_set.all().order_by('url') %}

しかし、例外があります"could not parse the remainder"。リストを注文するにはどうすればよいですか?

4

2 に答える 2

4

「残りを解析できませんでした」というエラーは、django テンプレートに Python コードを含めているためです。Django はそれを許可しません。

モデルにメソッドを追加できます。

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

そして、次のように呼び出します。

{% for domain in server.sorted_domains %}

別の方法として、メタ属性Domainを使用してモデルのデフォルトの並べ替え順序を設定することもできます。

于 2013-09-24T14:08:45.643 に答える
3

dictsortフィルターを使用できます。

辞書のリストを受け取り、引数で指定されたキーでソートされたリストを返します。

{% for domain in server.domain_set.all|dictsort:'url' %}

以下も参照してください。

于 2013-09-24T14:05:23.760 に答える