答案 0 :(得分:0)
实际上,您应该查看official Odoo documentation for developers中的该主题。但是您的消息来源和Odoo的文档也缺少一些非常有趣的东西。
您可以将record
放入data
节点中。在较旧的版本中,这是必需的,但在较新的版本中则不需要。 data
块可以具有一个额外的属性noupdate
,它将控制对该块中该数据的更新。
这里有个例子:
<odoo>
<data noupdate="1">
<record id="my_group_1" model="res.groups">
<field name="name">My Group 1</field>
</record>
</data>
<data noupdate="0">
<record id="my_group_2" model="res.groups">
<field name="name">My Group 2</field>
</record>
</data>
</odoo>
这将在Odoo中创建两个名为“我的组1”和“我的组2”的新组。如果您将两个名称都分别更改为“您的组1”和“您的组2”并再次更新模块/应用程序,则仅第二个组的名称将被更改回“我的组2”。
Odoo如何做到这一点?对于您通过xml或csv创建的每条记录,都会创建一个外部ID。该外部ID本身也具有Odoo模型。它是模型ir.model.data
,其条目/记录可在设置/技术下找到(在较新版本中激活调试模式即可查看)。该模型具有字段update
,在创建xml或csv记录时将其默认设置为TRUE,或者如果您将data
节点与noupdate="1"
一起使用,则设置为FALSE。 / p>
最后一个提示:如果使用noupdate选项删除记录,则将在模块更新时重新创建它们,因为您还将删除ir.model.data
(外部ID)。