今天学习一下列表优化和排序

ModelAdmin

django的options.py里面 ModelAdmin类定义的参数可以设置admin后台列表页面,相关的参数如下

django框架学习:二十一.admin列表优化和排序

 

 

 排序字段

后台列表页面,如果想按某个字段排序,可以加个ordering参数

django框架学习:二十一.admin列表优化和排序

 

 

 刷新页面后,就是降序了

列表分页

列表页默认是设置的100个记录,我们也可以修改下设置成默认每页显示10个,设置list_per_page = 5

django框架学习:二十一.admin列表优化和排序

 

 

 刷新页面

django框架学习:二十一.admin列表优化和排序

 

 

 

设置默认可编辑字段

有些字段如果想在列表页就能直接编辑,可以加个list_editable参数,这样无需进子页面,可以直接编辑列表页上的字段
如果有多个参数设置,里面逗号隔开就行,如 list_editable = ('name', 'age', )

django框架学习:二十一.admin列表优化和排序

 

刷新下页面

 

 django框架学习:二十一.admin列表优化和排序

 

 

 注意:title是默认的link链接字段,这个不能添加到 list_editable里面,否则会报错

link链接

列表页默认点第一个字段可进入编辑页面,如果我们想增加其它的字段也能点击进编辑页面,设置list_display_links = ('title', 'body','author')

django框架学习:二十一.admin列表优化和排序

 

 

 刷新页面,标题,页面和内容点击可进入可编辑页面。

django框架学习:二十一.admin列表优化和排序

 

 

 

过滤器

如果想快速方便找到作者对应的文字,可以添加过滤器,显示到列表页面右边,如设置list_filter = ('author', 'title')

django框架学习:二十一.admin列表优化和排序

 

 

 刷新admin后台管理页面

django框架学习:二十一.admin列表优化和排序

 

 

 显示效果如下,点右侧作者,内容名称,快速找到相关内容

按时间分层

date_hierarchy参数默认为None,设置一个时间字段,可以按时间分层删选

django框架学习:二十一.admin列表优化和排序

 

 

 根据时间筛选表格

django框架学习:二十一.admin列表优化和排序