自定义ModelAdmin类
要修改模块内的东西就要自定义ModelAdmin类
把admin.py 改成下面
from django.contrib import admin
# Register your models here.
from books.models import *
class AuthorAdmin(admin.ModelAdmin):
list_display = ('first_name','last_name','email')
search_fields = ('first_name','last_name');
class BookAdmin(admin.ModelAdmin):
list_display = ('title','publisher','publication_date')
list_filter = ('publication_date','publisher')
search_fields = ('title',);
date_hierarchy = 'publication_date'
ordering = ('-publication_date',)
fields = ('title','authors','publisher','publication_date')
filter_horizontal = ('authors',)
#filter_vertical = ('authors',)
raw_id_fields = ('publisher',)
admin.site.register(Publisher)
admin.site.register(Author,AuthorAdmin)
admin.site.register(Book,BookAdmin)
修改后的界面
说说改动的那些都有什么用。
添加的2个ModelAdmin类。它们是用来对模块实现自定义的。要在register中加入对应的ModelAdmin类。
其中:list_display用来表示模块界面中列表显示的字段的。
search_fields用来在模块界面添加快速查询的
list_filter 用来在模块界面添加 右边 的 过滤器的
date_hierarchy 用来在模块界面顶部添加逐层深入的导航条
ordering 用来设置模块界面显示的排序顺序
fields 用来表示编辑表单界面各字段的顺序,也可以少些一些,用来屏蔽不让用户改的字段。
filter_horizontal 效果直接见图,方便多选的。
filter_vertical 与filter_horizontal一样,只不过是垂直显示的。
raw_id_fields 效果见图,点击放大镜图标可以选择。