默认加载图像到 res.partner 二进制字段还是通过 XML 数据文件?

问题描述

我在 res.partner 中创建了一个名为 user_sign 的新字段。

我已经在 'my_module/static/src/img' 中存储了一些这样的标志,这个想法是当我们在生产中安装模块时,这些图像将存储在它的相应用户中。 图像的名称它将是与用户相关的代码

我尝试过使用这样的 get_default 方法

class Users(models.Model):
    _inherit = "res.users"

    user_sign = fields.Binary("Sign",default='get_default_image()')

    def get_default_image(self):
        for i in self:
            emp = self.env['hr.employee'].sudo().search([('user_id','=',i.id)])
            if emp:
                code = emp.identification_id
                code = code.replace('.','')
                code = code.replace('-','')
                code = code + '.png'

                with open(modules.get_module_resource('my_module','static/src/img',rut),'rb') as f:
                    return base64.b64encode(f.read())

我也尝试过相同的方法,但作为计算方法

class Users(models.Model):
        _inherit = "res.users"
    
        user_sign = fields.Binary("Sign",compute='get_default_image')
    
        def get_default_image(self):
            for i in self:
                emp = self.env['hr.employee'].sudo().search([('user_id',i.id)])
                if emp:
                    code = emp.identification_id
                    code = code.replace('.','')
                    code = code.replace('-','')
                    code = code + '.png'
    
                    with open(modules.get_module_resource('my_module','rb') as f:
                        return base64.b64encode(f.read())

现在我想通过 XML 数据文件加载图像,它会改变我关于图像名称用户代码之间关系的逻辑。

如果可以通过 python 代码或 XML 数据文件执行此操作,请帮助我。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)