模型更新前的虚拟数据更新

时间:2016-07-14 00:01:32

标签: openerp odoo-8

我有一个模型(my.model)。我还有一个数据文件,将填充此表。还有另一个模型(test.model),它有一个引用(my.model)的many2one字段。代码如下:

我的模型:testModel.py

Class myModel(models.Model):
      _name="my.model"
      name = fields.Char('Name',default=None)

Class testModel(models.Model):
      _inherits='stock.location'

      location_role_id = fields.Many2one('my.model','location role',required= True,default=1)

要填充表的数据文件是(my_model_data.xml)

<openerp>
    <data>
       <record id="default" model="my.model">
          <field name="name">Default</field>
       </record>

       <record id="default_new" model="my.model">
          <field name="name">New Value</field>
       </record>
    </data>
 </openerp>

现在我安装我的模块。它创建了表(my_model),但我必须将默认值设置为many2one字段,该字段将引用表的第一个id(my_model)。 但是它给了我一个错误,即my_model表的引用id不存在。完整性错误约束外键。

所以我发现,odoo创建表,然后更新另一个表,最后填充表。因此,在创建many2one字段时,它找不到id,因为在此步骤之后填充了表。

有没有办法在更新many2one字段之前插入或填充表。因此我可以将默认值引用为1.

谢谢,

0 个答案:

没有答案