位置: 编程技术 - 正文
推荐整理分享django批量导入xml数据(django批量上传图片),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:django批量导入数据,django批量上传下载文件,django批量上传下载文件,django批量上传图片,django导入excel文件,django批量导入数据,django导入excel文件,django批量上传下载文件,内容如对您有帮助,希望把文章链接给更多的朋友!
django后台批量导入数据
在生产环境中,往往数据不是几条或者几百条,那么举个例子,将公司所有员工员工号或者帐号密码导入进后台,那就不建议你去后台一条条记录去添加了
如何从xml中批量导入svn记录
第一步:
为数据建立模型
既然建立好了模型,那我们再去建立接受我们xml文件的models
ok,以上代码我们定义好了数据和上传文件的model
同步数据库
接着我们去修改admin.py 让我们可以从后台上传文件,
注意上面代码里的save_model,这里才是关键,在这里我重写了ModelAdmin里的save_model方法因为我们要把上传文件,读取文件,解析文件,操作数据库合为一步来操作,大家可以打开debug,在上传文件的时候,返回参数的obj里包括了文件上传的路径,这个路径也是下一步我们操作解析文件的关键,好了我们在这个app文件夹下新建一个utils.py 用来操作我们操作文件和数据库的工具类,为了简单我写成了函数如下先贴一下我们要测试的xml文件
输出结果格式
我们使用的xmltodict这个第三方库来解析xml,他把内容解析成了高效率的orderdict类型,就是有序列的字典这个xml中比较复杂的是那个paths里的path,因为这个xml中包含两个元素,第一个元素的path只含有一个path,第二个元素中的paths包含有三个path,因此我们在解析获取的时候需要判断一下
我们判断这个path是不是一个list类型的,如果是,那我们就按照list的方式来处理,如果不是,那我们就按单个的方式来处理,获取之后按照输出结果格式处理下结果然后获取其他内容
最后我们将获取到的元素存在字典里在循环中判断当前的版本号和数据库中的版本号,如果比原来的小,那么我们执行更新操作,反之执行插入操作
最后使用了bulk_create来操作数据库,这样避免了循环中每次都进行数据库操作造成的资源浪费
django model去掉unique_together报错的解决方案 事情是这样的,我有一个存储考试的表classExam(models.Model):category=cached_fields.ForeignKeyField(Category)name=models.CharField(max_length=)date=models.DateField()created_at=models
python 队列详解及实例代码 队列特性:先进先出(FIFO)——先进队列的元素先出队列。来源于我们生活中的队列(先排队的先办完事)。Queue模块最常与threading模块一起构成生产-消
python 异常处理总结 最近,做个小项目经常会遇到Python的异常,让人非常头疼,故对异常进行整理,避免下次遇到异常不知所措,以下就是对Python异常进行的整理。1.Python异
标签: django批量上传图片
本文链接地址:https://www.jiuchutong.com/biancheng/384427.html 转载请保留说明!上一篇:python中os模块详解(python中os模块有什么作用)
下一篇:django model去掉unique_together报错的解决方案(django modelform)
友情链接: 武汉网站建设