一个简单的django管理员允许将查询集导出到xlsx文件。

django-simple-export-admin的Python项目详细描述


django简单导出管理

一个简单的django管理员允许将查询集导出到xlsx文件。在

安装

pip install django-simple-export-admin

使用

pro/设置.py

^{pr2}$
  • 需要django_static_fontawesome、django_changelist_toolbar_admin和django_simple_export_admin。在

应用程序/模型.py

fromdjango.dbimportmodelsclassCategory(models.Model):name=models.CharField(max_length=32)classBook(models.Model):name=models.CharField(max_length=32)author=models.CharField(max_length=32)category=models.ForeignKey(Category,on_delete=models.SET_NULL,null=True,blank=True)is_published=models.NullBooleanField()published_date=models.DateField(null=True)count=models.IntegerField(default=0)defpreview(self):return"/preview/{0}.png".format(self.pk)preview.short_description="Preview Image Path"classMeta:permissions=[("export_filtered_books","Export all filtered books"),]

应用程序/管理员py

fromdjango.contribimportadminfromdjango_simple_export_admin.adminimportDjangoSimpleExportAdminfromdjango_simple_export_admin.adminimportNullBooleanRenderfromdjango_simple_export_admin.adminimportDateRenderfromdjango_simple_export_admin.adminimportSumfrom.modelsimportBookclassBookAdmin(DjangoSimpleExportAdmin,admin.ModelAdmin):list_display=["name","author"]list_filter=["is_published","published_date","author"]django_simple_export_admin_exports={"filtered-books":{"label":"Export All Filtered Books","icon":"fas fa-book","filename":"Book","fields":[{"field":"forloop.counter1","label":"Index"},{"field":"name","label":"Book Name","footer-value":"Sum:"},{"field":"count","label":"Stock","footer-value":lambda:Sum()},{"field":"category__name"},{"field":"author","label":"Author","empty_value":"-"},{"field":"is_published","label":"Is Published","render":NullBooleanRender("UNKNOWN","YES","NO")},{"field":"published_date","label":"Published Date","render":DateRender()},],"export-filtered":True,"permissions":["django_simple_export_admin_example.export_filtered_books"],}}
  • label默认为U(“导出”)。在
  • icon默认为无表示没有图标。在
  • filename默认为模型名。在
  • export-filtered默认值为False,表示始终不过滤地导出所有查询集。在
  • permissions默认为无,意味着只有超级管理员有权限进行导出。在
  • fields
    • field可以是模型实例的字段、模型实例的可调用函数、取模型实例参数的admin的可调用函数。与list_display中的字段名类似。field == forloop.counter1将始终显示行索引,例如1、2、3。。。在
    • label是列的标题。如果缺少标签,field.verbose_名称或者功能。简短描述将首先使用。如果仍然为空,请使用字段名。在
    • render是一个可调用的对象,它将原始值转换为显示值。在
    • empty_value仅在未提供render时工作,它是原始无值的显示值。在
    • footer-value是显示在最下面一行的值。它可以是一个Aggregate实例,接受该字段的每个项值,最后计算出最终值。它可以是staic值。在
    • start-row-index是开始写入数据的行索引。从1开始。在
    • xlsx-template模板xlsx文件路径。在
    • show-headerTrue或False表示是否显示标头。在

装运的渲染

  • django_简单出口_admin.admin.ForceStringRender在
  • django_简单出口_admin.admin.DateRender在
  • django_简单出口_admin.admin.BooleanRender在
  • django_简单出口_admin.admin.NullBooleanRender在

装运骨料

  • django_简单出口_管理汇总在
  • django_简单出口_管理平均值在
  • django_简单出口_管理员计数在

错误报告

请在https://github.com/zencore-cn/zencore-issues报告任何问题。在

释放

v0.1.4 2020/06/24

  • 修复循环计数器1开始行索引时出现问题!=1。在

v0.1.3 2020/04/04

  • 修复queryset受list_per_页面限制的问题,将其重置为MAX_ROWS=999999。在
  • 修复相关字段问题。在
  • 将“行索引”更改为forloop.counter1,因为用于相关对象属性。在
  • 如果字段标签设置丢失,则首先找到它的字段详细名称或函数简短描述。在
  • 使用get_xxx_display()作为选项字段。在
  • 添加xlsx模板支持。在
  • 添加起始行索引支持。在
  • 添加显示标头支持。在

v0.1.2 2020/04/02

  • 修复文档。在

v0.1.1 2020/04/02

  • 修复页脚值问题。如果在设置中使用聚合实例,则全局使用该实例,因此最终值如果不正确。所以必须动态地添加lambda来创建一个新实例。在

v0.1.0 2020/04/02

  • 第一次发布。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JList侦听器找不到符号   多点触摸跨平台java应用程序(Windows、Mac和Linux(Ubuntu)(可能是Android))   在UnitTest中找不到java类加载器资源   java当我尝试在Eclipse中运行我的minecraft mod时,我总是遇到这个错误,这是什么意思?   内部有一个同步块的静态方法,在java中阻止整个类?   不支持java操作:具有BillableStatus的费用在采购中应具有AccountBasedExpenseLineDetail行的CustomerRef   java运行时常量池GC集合   java无法解析配置“:app:\u debugApk”的所有依赖项。找不到名为“default”的配置   在GCP计算引擎中托管Neo4j的java   java如何从BroadcastReceiver更新片段选项卡?   线程“main”组织中的java异常。冬眠注释异常:@org。冬眠注释。表引用未知表:ProductForPractice   在Java/Groovy中嵌入处理   java Android REST教程/示例项目   java我可以在同一测试中在一个模拟器上启动应用程序,在另一个模拟器上启动移动浏览器吗?   java如何更改通知横幅的方向?   安卓 Java帮助实现Firebase授权   if else之后的rs.next()中出现java错误?