zoukankan      html  css  js  c++  java
  • django xadmin 根据是否管理员 设置只读字段

    #指导教程
    class GuideHelpXadmin(object):
    all_zi_duan = ["id",
    "add_time", "update_time"]
    list_display = ['guide_project',
    'go_to'] # 定义显示的字段
    list_filter = [ 'guide_project',] # 定义筛选的字段
    search_fields = ['guide_project',] # 定义搜索字段
    model_icon = "fa fa-file-text" # 定义图标显示
    ordering = ["-add_time"] # 添加默认排序规则显示排序,根据添加时间倒序排序
    # readonly_fields = ['write_user','add_time','update_time'] # 设置某些字段为只为可读 #设置了readonly_fields,再设置exclude,exclude对该字段无效,

    # exclude = ['case_step'] # 设置某些字段为不显示,即隐藏 #readonly_fields和exclude设置会有冲突
    # inlines = [TestCaseInline] # inlines配和TestCaseInline使用,可以直接在项目页面添加测试用例#只能做一层嵌套,不能进行两层嵌套

    list_editable = all_zi_duan # 可以在列表页对字段进行编辑
    refresh_times = [3, 5] # 对列表页进行定时刷新,配置了3秒和5秒,可以从中选择一个
    list_per_page = 50 # 每页设置50条数据,默认每页展示100条数据
    # fk_fields = ['test_project_id',] #设置显示外键字段,未生效
    list_display_links = ["guide_project", ] # 设置点击链接进入编辑页面的字段
    # date_hierarchy = 'add_time' #详细时间分层筛选,未生效
    show_detail_fields = ["guide_project", ] # 显示数据详情

    list_export = ('xls',) # 控制列表页导出数据的可选格式
    show_bookmarks = True # 控制是否显示书签功能

    # 设置是否加入导入插件
    # import_excel = True # True表示显示使用插件,False表示不显示使用插件,该import_excel变量会覆盖插件中的变量


    #可以根据是否为超级用户,设置某些字段为可读,即超级管理员可以进行编辑,而普通用户不可以进行编辑的字段设置
    def get_readonly_fields(self):
    fields = []
    if self.request.user.is_superuser: #
    fields = ['add_time', 'update_time']
    return fields
    else:
    fields = ['write_user','add_time','update_time'] #例如,用户,超级管理员可以分配用户,而普通不可以编辑用户
    return fields
  • 相关阅读:
    netcore3.0使用Session
    docker redis使用
    协变和逆变
    HashTable、Dictionary、ConcurrentDictionary三者区别
    设计模式-行为型-解释器模式
    设计模式-行为型-备忘录模式
    jq实现批量全选与反选
    call()和apply()的用法及区别,看这个例子就明白了
    谈谈对闭包的理解
    export,import和export default的区别
  • 原文地址:https://www.cnblogs.com/jingzaixin/p/13372258.html
Copyright © 2011-2022 走看看