admin自定义后台注意事项

from django.contrib import admin
from .models import *


# 定制显示类
class InfosAdmin(admin.ModelAdmin):
list_display = ['name', 'phone', 'email', 'ut'] # 不能放多对多字段 没办法显示
list_display_links = ('name',) # 显示点击可以跳转的类 必须在和上面的列表中选择 有几个显示几个 要写元组后面的必须加逗号
list_filter = ['pwd'] # 放任意字段,最好不要放一对多 可以显示这一方的字段的说明都在多的一方 筛选就相当于每个都不同没意义
list_editable = ["phone"] # 手机号直接可以修改 但是 点击跳转的字段list_display_links一定不能和修改字段一样
ordering = ['phone', 'name'] # 一般只写一个字段,写另一个字段的原因是 在前一个字段相同的情况下 双方比较第二字段
search_fields = ('name', 'phone') # 搜索框模糊搜索 比如输入1的情况下 手机号有1的 和 名字有1的·都会出来

# 自定义前面的action方法 就是批量操作的哪个 批量修改实现自定制
def func(self, request, queryset):
# 对传进来的数据进行处理
queryset.update(email='123@126.com') # 以这个为例就是可以批量更新选中对象中的邮箱

func.short_description = '邮箱更新操作' # 这个是在select下拉框中显示中文的选项

def fun1(self, request, querset):
querset.update(phone='123312312123')

fun1.short_description = '手机号更新操作'
actions = [func, fun1] # 将自定义的方法添加到actions列表中 加哪个显示哪个


admin.site.register(UserInfos, InfosAdmin)

admin.site.register(UserRoless)
admin.site.register(UserType)
posted @ 2018-05-03 17:50  Ebola  阅读(258)  评论(0编辑  收藏  举报