zoukankan      html  css  js  c++  java
  • odoo里面批量上传图片

    import os
    import base64
    
    
    def base_data_product_image(self):
        """
        odoo里批量创建产品,并上传图片
        图片为binary类型字段
        :param self:
        :return:# odoo里面附近存储格式三base64编码格式的
        """
        path = "D:\image_files"  # 这里windows环境路径
        filelist = os.listdir(path)
        product_obj = self.env['product.template'].sudo()
        i = 1
        if not len(filelist):
            return {
                "result": "Fail",
                "msg": "not image!"
            }
        for image in filelist:
            # 这里可以根据后缀来过滤文件类型jpg、png
            if image.endswith('.png'):
                with open("D:\image_files\%s" % image, "rb") as f:
                    base64_data = base64.b64encode(f.read())
                product_obj.create({
                    "name": "test_product_%s" % str(i),
                    "image_1920": base64_data
                })
                # 文件打开后记得close,
                # 1、with open()as f;文件打开后会自动关闭
                # 2、open(),打开文件不会自动关闭
                # 建议都close一下
                f.close()
                i += 1
        return {
            "result": "Success",
            "msg": "Product create success!"
        }
    
    
    
    # 案例2
    # 这是针对many2many类型的ir.attachment字段创建的例子
    name="test"
    data_attach = {
        'name': name,
        'datas': base64.b64encode(content),
        'type': 'binary',
        'datas_fname': name,
        'description': name,
        'res_model': 'test_model',
        'res_id': '1',
    }
    new_attachment = IrAttachment.create(data_attach)
  • 相关阅读:
    golang-----giao起来
    Django-----你醒了吗?
    linux
    dapper之连接数据库(Oracle,SQL Server,MySql)
    mongodb 物理删除数据
    一生难得的偶遇
    奇怪的电话
    我的魔兽争霸
    第四章 吃饭
    第三章 百花谷
  • 原文地址:https://www.cnblogs.com/1314520xh/p/14256662.html
Copyright © 2011-2022 走看看