Skip to main content
 首页 » 编程设计

python之如何在 View 中排序一组对象

2025年05月04日17TianFang

我的代码目前列出了服务器中的所有域,使用:

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

我想按 url 对 View 中的域进行排序。像这样的东西:

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

但我得到一个异常“无法解析余数”。如何订购 list ?

请您参考如下方法:

“无法解析余数”错误是因为您在 Django 模板中包含了 Python 代码。 Django 不允许这样做。

您可以在模型上添加一个方法:

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

然后这样调用它:

{% for domain in server.sorted_domains %} 

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