1: list_display 列表时,定制显示的列。
class UserAdmin(admin.ModelAdmin): #每次打开后就不能修改,或者更改别的模式 list_display = (‘name‘,‘header_color‘,‘‘) #可以是元组或者列表,当只有一个参数的时候,元组要在后面加上,
def
xxxxx(
self
, obj): #obj指的是实例化的对象
return
"xxxxx"
admin.site.register(Type)
admin.site.register(User,UserAdmin)
admin.site.register(Role)
效果:在admin打开User表时候,会在页面显示name和header_color字段信息.
2,list_editable,列表时,可以编辑的列
@admin.register(models.UserInfo) class UserAdmin(admin.ModelAdmin): list_display = (‘user‘, ‘pwd‘,‘ug‘,) list_editable = (‘ug‘,) 这里要注意:list_editable里面的值不能在 list_display_links里面.
3,分页
# 分页,每页显示条数 list_per_page = 100 # 分页,显示全部(真实数据<该值时,才会有显示全部) list_max_show_all = 200 # 分页插件 paginator = Paginator
4,list_display_links,列表时,定制列可以点击跳转。
@admin.register(models.UserInfo) class UserAdmin(admin.ModelAdmin): list_display = (‘user‘, ‘pwd‘, ‘xxxxx‘) list_display_links = (‘pwd‘,)
5,search_fields,列表时,模糊搜索的功能
class UserAdmin(admin.ModelAdmin): search_fields = (‘user‘, ‘pwd‘) #弹出搜索框,支持模糊搜索
6,. date_hierarchy,列表时,对Date和DateTime类型进行搜索
class UserAdmin(admin.ModelAdmin): date_hierarchy = ‘ctime‘
7,inlines,详细页面,如果有其他表和当前表做FK,那么详细页面可以进行动态增加和删除
class UserTypeConfig(admin.ModelAdmin): class UserInfoInline(admin.StackedInline): # TabularInline extra = 0 model = User inlines = [UserInfoInline, ] #这里链接User表 admin.site.register(Type,UserTypeConfig)
8,action列表时,定制action中的操作
class UserAdmin(admin.ModelAdmin): # 定制Action行为具体方法 def func(self, request, queryset): print(self, request, queryset) print(request.POST.getlist(‘_selected_action‘)) func.short_description = "中文显示自定义Actions" actions = [func, ] # Action选项都是在页面上方显示 actions_on_top = True # Action选项都是在页面下方显示 actions_on_bottom = False # 是否显示选择个数 actions_selection_counter = True