class
MachineInfoAdmin(admin.ModelAdmin):
def
get_readonly_fields(
self
, request, obj
=
None
):
""" 重新定义此函数,限制普通用户所能修改的字段 """
if
request.user.is_superuser:
self
.readonly_fields
=
[]
return
self
.readonly_fields
readonly_fields
=
(
'machine_ip'
,
'status'
,
'user'
,
'machine_model'
,
'cache'
,
'cpu'
,
'hard_disk'
,
'machine_os'
,
'idc'
,
'machine_group'
)
二,xadmin自定义字段设置排序
def identity(self,ext):
return ext.user.get_types_display()
identity.short_description='身份'
# identity.admin_order_field = 'end_date'
# 设置列表显示字段
list_display = ['name', 'course_org', 'detail','degree','learn_times','students','fav_nums','image','click_nums','add_time']
# 设置列表查询字段
search_field = ['name', 'course_org', 'detail','degree','learn_times','students','fav_nums','image','click_nums']
# 设置列表过滤字段
list_filter = ['name', 'course_org', 'detail','degree','learn_times','students','fav_nums','image','click_nums','add_time']
# 设置显示图标
model_icon = 'fa fa-check-square' # 设置字段可以直接在列表页修改 list_editable=['desc','degree']
# 设置默认排序
ordering=['-click_nums']
# 设置详情页面只读显示
readonly_fields=['fav_nums','click_nums']
# 设置详情页面不显示某个字段
exclude=['add_time']
#自动刷新列表页面(秒数)
refresh_times = [3,5]
三,设置BooleadnField 显示和其他字段同列
1,
2