Odoo:为one2many字段获取带有Context的active_id

时间:2016-05-11 02:08:45

标签: python-2.7 odoo-8 openerp-8

我尝试为我的one2many字段使用上下文设置默认值,但我称之为id显示错误:
switch

告诉我为什么?

这是我获取id的代码:

<openerp.models.NewId object at 0xacfbed4c>

这是我的python代码,用于调用id:

<field name="timesheet_ids" context="{'tree_view_ref''estate_vehicle.view_tree_timesheet_activity_transport',
                                            'default_seeddo_id': id}"/>

1 个答案:

答案 0 :(得分:0)

  

@api.onchange方法中添加新的关系记录时,您可以   使用openerp.models.BaseModel.new()构造函数。这将   创建一个尚未提交到数据库的记录,具有   openerp.models.NewId类型的ID。

请参阅此链接:many2many-one2many-behavior

就像飞行中的变化/计算工作一样,所以基本上在创建时记录集的记录只会在内存中。所以 onchange 旁边的id还没有因为记录尚未保存。

在这种情况下,您可以将模型引用为ID ,而不是self。

HrEmployee = self.env['hr.employee']
employee_id = HrEmployee.id