我有一个模型(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.
谢谢,