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 %}

另一种方法是使用Meta 属性Domain在模型上设置默认排序顺序。

于 2013-09-24T14:08:45.643 回答
3

您可以使用dictsort过滤器:

获取字典列表并返回按参数中给出的键排序的列表。

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

另见:

于 2013-09-24T14:05:23.760 回答