odoo.tools.convert.ParseError 重启 odoo-bin 时

odoo.tools.convert.ParseError when restarting odoo-bin

我正在学习开发者教程 here

我在树视图中添加了两个 action 按钮。

在将 button 标记添加到 XML view 后,我重新启动服务器之前一切正常。然后我收到以下错误:

Traceback (most recent call last):
  File "/home/keith/src/odoo/odoo/service/server.py", line 1246, in preload_registries
    registry = Registry.new(dbname, update_module=update_module)
  File "/odoo/modules/registry.py", line 87, in new
    odoo.modules.load_modules(registry, force_demo, status, update_module)
  File "/odoo/modules/loading.py", line 470, in load_modules
    processed_modules += load_marked_modules(cr, graph,
  File "/odoo/modules/loading.py", line 363, in load_marked_modules
    loaded, processed = load_module_graph(
  File "/odoo/modules/loading.py", line 222, in load_module_graph
    load_data(cr, idref, mode, kind='data', package=package)
  File "/odoo/modules/loading.py", line 69, in load_data
    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)
  File "/odoo/tools/convert.py", line 745, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate)
  File "/odoo/tools/convert.py", line 811, in convert_xml_import
    obj.parse(doc.getroot())
  File "/odoo/tools/convert.py", line 731, in parse
    self._tag_root(de)
  File "/odoo/tools/convert.py", line 691, in _tag_root
    raise ParseError(msg) from None  # Restart with "--log-handler odoo.tools.convert:DEBUG" for complete traceback
odoo.tools.convert.ParseError: while parsing /custom/estate/views/estate_property_offer_views.xml:3
Invalid view estate.property.offer.tree (estate.estate_property_offer_view_tree) definition in estate/views/estate_property_offer_views.xml

View error context:
'-no context-'

如果我删除按钮标签,服务器将正常启动 (./odoo-bin --addons-path=../custom,addons -d rd-demo -u estate --dev xml).

然后我可以重新添加按钮,它们可以正常工作,但是一旦我重新启动服务器,我就会再次收到错误消息。

这是来自 view 的完整记录:

    <record id="estate_property_offer_view_tree" model="ir.ui.view">
        <field name="name">estate.property.offer.tree</field>
        <field name="model">estate.property.offer</field>
        <field name="arch" type="xml">
            <tree string="Offers">
                <field name="price"/>
                <field name="partner_id"/>
                <field name="validity"/>
                <field name="date_deadline"/>
                <field name="state"/>
                
                <button name="action_accept" type="object" icon="fa-check" style="color:green" states="new"/>
                <button name="action_refuse" type="object" icon="fa-close" style="color:red" states="new"/>
                
            </tree>
        </field>
    </record>

删除 tree view

按钮的样式
<button name="action_refuse" type="object" icon="fa-close"  states="new"/>

style 属性在 tree architecture 中仅适用于 button,您可以使用 class-基础.

与CLass:

    <button name="action_refuse" type="object" icon="fa-close"  states="new" class="btn-primary my_class"/> <!--my_class your custom class  -->

视图验证在调用 relaxng 方法时将失败,并会引发以下错误:

ERROR:RELAXNGV:RELAXNG_ERR_INVALIDATTR: Invalid attribute style for element button 

调用它来验证基本模块中的以下 views: calendar, graph, pivot, search, tree, activity. You can check the (common.rng) 文件,按钮定义中没有 style 属性。

要修复该错误,您必须删除 style 属性