一个简单的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第三方库


热门话题
具有泛型的对象的oop Java数组   爪哇丑陋的数字找到第1500名UVA在线评委   SpringJava。lang.IllegalStateException:自动连线批注至少需要一个参数   java为什么我的系统找不到我的属性文件?   java有没有办法让Maven同时构建1.5和1.6字节码JAR?   java通过Sailfin中的header进行操作   使用向量、距离和图形   如果提供的登录信息是错误的,为什么java控件不进入else部分和Toast?   java如何为电子商务安卓应用程序存储产品列表   java保存声音首选项Libgdx Android   java无法在测试单元中调用JpaRepository   java使用批处理更新Cassandra表中的选定列,而不将其他列值设为null   java如何在log4j2中的手动代码配置中向appender添加级别?   从ImageIO返回的java Null。读取(新的ByteArrayInputStream(bs));   java不确定如何防止此Arraylist处于可编辑状态   netbeans中的java更改清单(TrustedLibrary=true属性)   java无法使用RestTemplate和Spring数据REST发布具有关系的新实体