list_display
在默认的情况下,进入Question管理界面,只显示Question的文本信息,我们也可以来设置列表页面可以显示哪些信息,比如同时显示发布日期
class QuestionAdmin(admin.ModelAdmin):
# ...
list_display = ('question_text', 'pub_date', 'was_published_recently')
上面的代码通过list_display属性可以实现列表显示字段控制,可以看到除了字段,我们编写的was_published_recently也可以显示在这里
admin.display
默认下,was_published_recently只是简单的显示为True或者False
编辑polls/models.py中Question
通过@admin.display()来装饰was_published_recently
@admin.display(
boolean=True,
ordering='pub_date',
description='Published recently?',
)
def was_published_recently(self):
......
True与False显示为一个小图标,并且可以在这一列上按照日期进行排序
list_filter
修改admin.py文件
......
list_display = ('question_text', 'pub_date', 'was_published_recently')
list_filter = ['pub_date']
可以看到我们在list_display
后面添加了list_filter
属性
Django会自动根据字段类型,给出合适的过滤器
现在去后台看一下,发生了什么变化,右侧是不是多出了这样的一块:
讨论区