zoukankan      html  css  js  c++  java
  • xadmin修改list_export_fields不生效以及添加exclude_export_fields功能

    使用xadmin时,在网上找到文档中,xadmin中list_export_fields字段时限制导出的字段

    但是在实际使用中却是不生效

    参考这篇文章就可以使之生效https://blog.csdn.net/Laozizuiku/article/details/105260408

    具体修改就是修改xadmin/plugins/export.py中的ExportPlugin的get_result_list方法

    def get_result_list(self, __):
        if self.request.GET.get('all', 'off') == 'on':
           self.admin_view.list_per_page = sys.maxsize
        self.admin_view.list_display=getattr(self.admin_view,'list_export_fields', self.admin_view.list_display)
        return __()

    然后就可以在adminx.py中使用list_export_fields了

    但如果像排除某个字段不导出呢,比如自定义字段,同样可以这样修改

        def get_result_list(self, __):
            if self.request.GET.get('all', 'off') == 'on':
                self.admin_view.list_per_page = sys.maxsize
            #添加exclude_export_fields字段
            exclude_export_fields = getattr(self.admin_view,'exclude_export_fields', '')
            list_display_tmp = self.admin_view.list_display[:]
            if exclude_export_fields:
                for exclude in exclude_export_fields:
                    if exclude in list_display_tmp:
                        list_display_tmp.remove(exclude)
                    else:
                        pass
            self.admin_view.list_display = list_display_tmp[:]
            return __()

    在adminx.py中使用exclude_export_fields就可以了

  • 相关阅读:
    继承关系·
    对象第复制operator=
    关于类拷贝造函数
    静态数据成员与静态成员函数
    linux新内核的时钟机制代码
    RTC系统
    Android关机闹钟实现
    更改printk打印级别
    vncserver 配置全屏显示
    vnc里鼠标拖动终端就会产生ctrl+c终端
  • 原文地址:https://www.cnblogs.com/fengf233/p/12830553.html
Copyright © 2011-2022 走看看