1.Django-Import-Export插件控制数据导入流程
2.snownlpånltkä»ä¹å
³ç³»
Django-Import-Export插件控制数据导入流程
前言
之前有写过相关文章,源码现在我们探讨一下 Django-Import-Export 插件如何控制数据导入流程。源码一位朋友询问了关于此插件的源码具体应用,我将以书籍管理为例来阐述这一问题。源码
在书籍管理场景中,源码Excel 表中包含了每本书的源码医院php源码价格和税,而数据库中仅包含价格。源码在导入数据时,源码需要将价格与税相加,源码得到最终存储于数据库的源码价格。以往我倾向于直接使用 pandas 处理数据,源码而 Django-Import-Export 主要用于数据导出,源码其文档简略且示例难以解决实际问题,源码190源码网效率不高。源码
但出于研究精神,源码我决定探索 Django-Import-Export 是否能实现这一需求。答案是肯定的,否则也就不会有这篇文章了。
分析
官方文档提到 import_data() 方法,linus git源码它负责从给定数据集导入数据。数据集必须是带有标题行的 tablib.Dataset。dry_run 参数决定是否进行数据库更改或仅模拟导入过程。raise_errors 参数则指示是否在发生错误时抛出异常。
对于导入数据时的处理,import_data() 方法提供了 hook,oxygen xml源码允许我们自定义数据处理逻辑。这个 hook 接收的数据集 dataset 是 tablib 库提供的对象,tablib 是由 requests 库的作者开发的,因此其功能通常非常强大。
编写代码
根据官方示例,我们将实现所需功能。菜瓜系统源码项目源代码可在 GitHub 上找到。
首先,查看模型设计,通常包含多种字段。
然后,考虑要导入的数据,采用 CSV 格式,便于处理。
数据转换后,应包含价格(price)属性,这是导入时需要添加的字段。
使用 Resources 类,添加 hook 来处理导入的数据。通过 DataSet 的 append_col 方法添加新列,实现价格的计算。最后,确保执行父类的 import_data 方法以完成数据导入。
效果
在 admin 后台执行导入操作后,可观察到价格字段正确更新。
这个过程相对简单,只是官方文档在详细示例方面有所欠缺,需要自行探索和理解。
snownlpånltkä»ä¹å ³ç³»
没ä»ä¹å ³ç³»å§ã SnowNLPçå¼åè å¨GitHubæè¿°ä¸æå°æ¯åTextBlobdçå¯åæåçSnowNLP,èè¿ä¸¤ä¸ªç±»åºçæ大åºå«å°±æ¯SnowNLPå ·ä½å®ç°çæ¶å没æç¨nltkï¼ä¸»è¦é对ä¸æææ¬å¤çã