was_published_recently.admin_order_field = 'pub_date'
这个声明到底在做什么?
这是参考 django 的管理部分。
在models对应的admin部分,每个models都有一个属性叫做list_display
,用来控制在admin的变更列表(所有对象的列表显示)页面上显示哪些字段。
现在,如果您希望更改 in 的默认排序顺序,was_published_recently
您list_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_date
was_published_recently
您可以通过向下滚动到此链接admin_order_field
中的相关信息来更好地理解这一点