Odoo 迁移到 v16:标准向导出错

问题描述 投票:0回答:1

当我尝试在 Odoo v16-apps 中安装我的 - 最初在 v13 开发的自定义模块 - 时,我收到了一个错误,即使是一个空向导(其结构与官方 odoo 插件中找到的其他向导定义相同)! :

  <record id="my_custom_wizard_form" model="ir.ui.view">
    <field name="name">my.custom.wizard.form</field>
    <field name="model">my.custom.wizard</field>
    <field name='arch' type='xml'>
        <form string='My Wizard'>
           <sheet>
           </sheet>
           <footer>
           </footer>
        </form>
    </field>
  </record>

  <record id="act_my_custom_wizard" model="ir.actions.act_window">
               <field name="name">My Custom Wizard</field>
               <field name="res_model">my.custom.wizard</field>
               <field name="view_mode">form</field>
               <field name="target">new</field>
              <field name="view_id" ref="my_custom_wizard_form"/>
                <!--field name="binding_model_id" eval="False"/-->
  </record>

  <menuitem id="menu_my_custom_wizard" action="act_my_custom_wizard" parent="my_configration" sequence="2"/>

但是,即使我尝试将向导定义减少到极简内容,我仍然在安装时收到此错误:

**File "/home/odoo/src/odoo/odoo/tools/convert.py", line 711, in _tag_root
    raise ParseError('while parsing %s:%s, somewhere inside\n%s' % (
odoo.tools.convert.ParseError: while parsing /home/odoo/src/user/my_custom_module_zsb/wizard/my_custom_wizard.xml:3, somewhere inside**

追溯:

Failed to load registry
Traceback (most recent call last):
  File "/home/odoo/src/odoo/odoo/tools/convert.py", line 698, in _tag_root
    f(rec)
  File "/home/odoo/src/odoo/odoo/tools/convert.py", line 599, in _tag_record
    record = model._load_records([data], self.mode == 'update')
  File "/home/odoo/src/odoo/odoo/models.py", line 4364, in _load_records
    data['record']._load_records_write(data['values'])
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 2218, in _load_records_write
    super(View, self)._load_records_write(values)
  File "/home/odoo/src/odoo/odoo/models.py", line 4295, in _load_records_write
    self.write(values)
  File "/home/odoo/src/odoo/addons/website/models/theme_models.py", line 385, in write
    res = super(IrUiView, other_views).write(vals)
  File "/home/odoo/src/odoo/addons/website/models/ir_ui_view.py", line 93, in write
    return super(View, self).write(vals)
  File "/home/odoo/src/enterprise/web_studio/models/studio_mixin.py", line 33, in write
    res = super(StudioMixin, self).write(vals)
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 573, in write
    res = super(View, self).write(self._compute_defaults(vals))
  File "/home/odoo/src/odoo/odoo/models.py", line 3787, in write
    fields[0].determine_inverse(real_recs)
  File "/home/odoo/src/odoo/odoo/fields.py", line 1396, in determine_inverse
    determine(self.inverse, records)
  File "/home/odoo/src/odoo/odoo/fields.py", line 97, in determine
    return needle(*args)
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 340, in _inverse_arch
    view.write(data)
  File "/home/odoo/src/odoo/addons/website/models/theme_models.py", line 385, in write
    res = super(IrUiView, other_views).write(vals)
  File "/home/odoo/src/odoo/addons/website/models/ir_ui_view.py", line 93, in write
    return super(View, self).write(vals)
  File "/home/odoo/src/enterprise/web_studio/models/studio_mixin.py", line 33, in write
    res = super(StudioMixin, self).write(vals)
  File "/home/odoo/src/odoo/odoo/addons/base/models/ir_ui_view.py", line 573, in write
    res = super(View, self).write(self._compute_defaults(vals))
  File "/home/odoo/src/odoo/odoo/models.py", line 3755, in write
    field.write(self, value)
  File "/home/odoo/src/odoo/odoo/fields.py", line 1815, in write
    text2terms[self.get_text_content(term)].append(term)
  File "/home/odoo/src/odoo/odoo/fields.py", line 1681, in get_text_content
    return func(term)
  File "/home/odoo/src/odoo/odoo/tools/translate.py", line 361, in get_text_content
    content = html.fromstring(term).text_content()
  File "/usr/lib/python3/dist-packages/lxml/html/__init__.py", line 875, in fromstring
    doc = document_fromstring(html, parser=parser, base_url=base_url, **kw)
  File "/usr/lib/python3/dist-packages/lxml/html/__init__.py", line 763, in document_fromstring
    raise etree.ParserError(
lxml.etree.ParserError: Document is empty

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/odoo/src/odoo/odoo/modules/registry.py", line 90, in new
    odoo.modules.load_modules(registry, force_demo, status, update_module)
  File "/home/odoo/src/odoo/odoo/modules/loading.py", line 484, in load_modules
    processed_modules += load_marked_modules(cr, graph,
  File "/home/odoo/src/odoo/odoo/modules/loading.py", line 372, in load_marked_modules
    loaded, processed = load_module_graph(
  File "/home/odoo/src/odoo/odoo/modules/loading.py", line 231, in load_module_graph
    load_data(cr, idref, mode, kind='data', package=package)
  File "/home/odoo/src/odoo/odoo/modules/loading.py", line 71, in load_data
    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)
  File "/home/odoo/src/odoo/odoo/tools/convert.py", line 763, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate)
  File "/home/odoo/src/odoo/odoo/tools/convert.py", line 829, in convert_xml_import
    obj.parse(doc.getroot())
  File "/home/odoo/src/odoo/odoo/tools/convert.py", line 749, in parse
    self._tag_root(de)
  File "/home/odoo/src/odoo/odoo/tools/convert.py", line 711, in _tag_root
    raise ParseError('while parsing %s:%s, somewhere inside\n%s' % (
odoo.tools.convert.ParseError: while parsing /home/odoo/src/user/my_custom_module_zsb/wizard/my_custom_wizard.xml:3, somewhere inside
  <record id="my_custom_wizard_form" model="ir.ui.view">
    <field name="name">my.custom.wizard.form</field>
    <field name="model">my.custom.wizard</field>
    <field name='arch' type='xml'>
        <form string='My Wizard'>
             <sheet>
            </sheet>
           <footer>
           </footer>
        </form>
    </field>
  </record>

如何更改我的向导或调用它的方式以符合 odoo 16 要求?

migration upgrade wizard odoo-13 odoo-16
1个回答
0
投票

我认为这是因为你没有将内容放入表单视图中

© www.soinside.com 2019 - 2024. All rights reserved.