Odoo 用默认值填充二进制字段

Odoo 用默认值填充二进制字段,odoo,odoo-9,Odoo,Odoo 9,我有两个二进制字段。在销售订单行树状图中,我有一个按钮打开向导。我选择并保存了文件,它完美地保存在所选销售订单行的我的label_file字段中 问题是,当我打开向导时,我希望将其视为保存的文件,但它没有生成,路径中只有字节 首先 Class SaleOrderLine(models.Model): _inherit='sale.order.line' label\u file=fields.Binary('保存的标签') 保存在订单行中 第二 class OrderLineLabel(mo

我有两个二进制字段。在销售订单行树状图中,我有一个按钮打开向导。我选择并保存了文件,它完美地保存在所选销售订单行的我的
label_file
字段中

问题是,当我打开向导时,我希望将其视为保存的文件,但它没有生成,路径中只有字节

首先

Class SaleOrderLine(models.Model):
_inherit='sale.order.line'
label\u file=fields.Binary('保存的标签')
保存在订单行中

第二

class OrderLineLabel(models.TransientModel):
_name='order.line.label'
label\u file\u show=fields.Binary('标签文件')
@api.multi
def写入标签VAL(自):
self.sure_one()
sale\u order\u line=self.env['sale.order.line'].browse(self.env.context.get('active\u id'))
VAL={
“label\u文件”:self.label\u文件,
}
销售订单行。写入(VAL)
@api.model
def default_get(自身,字段):
res=super(OrderLineLabel,self).default\u get(字段)
order\u line\u id=self.env['sale.order.line'].browse(self.env.context.get('active\u id'))
状态、标题、内容=二进制内容(model='sale.order.line',field='label\u file',id=order\u line\u id.id,filename='test',download=True)
#像这样试过
res['label_file_show']=内容
#还是像这样
res['label\u file\u show']=order\u line\u id.label\u file
返回res
这是我打开向导时的外观


您需要将
文件名
添加到二进制字段中

声明用于保存名称的字符字段:

label_file_name = fields.Char()
并使用
filename
属性指定二进制字段的文件名:

<field name="label_file_name" invisible="True"/>
<field name="label_file_show" filename="label_file_name"/>
在向导
default\u get
方法中设置
filename
的值:

res['label_file_name'] = order_line_id.label_file_name

您需要在二进制字段中添加
filename

声明用于保存名称的字符字段:

label_file_name = fields.Char()
并使用
filename
属性指定二进制字段的文件名:

<field name="label_file_name" invisible="True"/>
<field name="label_file_show" filename="label_file_name"/>
在向导
default\u get
方法中设置
filename
的值:

res['label_file_name'] = order_line_id.label_file_name