Odoo中XML导入HTML字段预置数据遇解析错误的咨询
问题原因与解决方法
核心问题
你遇到的XML解析错误,是因为直接在<field>标签内写入HTML代码时,XML解析器会把<p>这类HTML标签当成XML节点处理,而非字段的字符串值,这违反了Odoo的XML验证规则,从而触发AssertionError。
解决方案
1. 用CDATA包裹HTML内容
在XML数据文件中,把HTML内容放在<![CDATA[...]]>块里,让XML解析器将其视为纯文本,避免解析冲突。修正后的XML文件如下:
<?xml version="1.0" encoding="utf-8"?> <odoo> <data> <record id="unique_id" model="test.model"> <field name="content"><![CDATA[ <p>Some Text</p> ]]></field> </record> </data> </odoo>
2. 修正Model类的继承错误
你的model.py里存在一个小错误:models.model应该写成models.Model(首字母大写),否则会导致模型无法正确加载。修正后的代码:
from odoo import models, fields class TestModel(models.Model): _name = 'test.model' content = fields.HTML()
完成以上修改后,重新安装模块,预置数据就能正常导入了。
内容的提问来源于stack exchange,提问作者Lars Halbauer
相关产品推荐
相关产品推荐

