8

来自django 教程

 was_published_recently.admin_order_field = 'pub_date'

这个声明到底在做什么?

4

1 回答 1

12

这是参考 django 的管理部分。

在models对应的admin部分,每个models都有一个属性叫做list_display,用来控制在admin的变更列表(所有对象的列表显示)页面上显示哪些字段。

现在,如果您希望更改 in 的默认排序顺序,was_published_recentlylist_display可以通过设置admin_order_field属性来实现。

因此,在示例中:

class Poll(models.Model):
    # ...
    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
    was_published_recently.admin_order_field = 'pub_date'
    was_published_recently.boolean = True
    was_published_recently.short_description = 'Published recently?'

当单击列的“排序”选项时,您正在添加一个名为的自定义列was_published_recently并将排序顺序指定为数据库字段。pub_datewas_published_recently

您可以通过向下滚动到此链接admin_order_field中的相关信息来更好地理解这一点

于 2013-09-06T14:31:42.133 回答