カスタム モジュールをインストールした後、ベース モジュールをアップグレードすることも、新しいカスタム モジュールをインストールすることもできません。ただし、カスタム モジュールをアンインストールすると、ベースをアップグレードでき、すべて正常に動作するため、問題の原因が明確になります。
私が理解していないのは、カスタム モジュールがベースのアップグレードを許可しない理由です。完全に正常に動作し、問題なくインストールされます。カスタム モジュールは単にフィールドを res.users フォーム ビューに追加し、別のフィールドを非表示にします。しかし、繰り返しますが、ベースまたはカスタムモジュールの依存関係をアップグレードしようとすると、以下のエラーが発生します(主要部分のみを配置します)
Traceback (most recent call last):
File "/opt/odoo/odoo-server/odoo/http.py", line 638, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/odoo/odoo-server/odoo/http.py", line 314, in _handle_exception
raise exception.with_traceback(None) from new_cause
odoo.tools.convert.ParseError: while parsing /opt/odoo/custom/addons/custom_module/views/views.xml:3, near
<record id="view_users_form" model="ir.ui.view">
<field name="name">res.users.form.inherit</field>
<field name="model">res.users</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="arch" type="xml">
<data><xpath expr="//field[@name='sel_groups_1_9_10']/.." position="attributes">
<attribute name="invisible">1</attribute>
</xpath>
<xpath expr="//field[@name='sel_groups_1_9_10']/.." position="after">
<group col="2">
<group string="User Type">
<field name="sel_groups_1_9_10" string="Type"/>
</group>
<group string="User Access">
<field name="archive_date" string="Archive Date"/>
</group>
</group>
</xpath>
</data></field>
</record>
アップデート:
リモートサーバーでこのエラーが発生していましたが、今では自分の側でエラーが発生しました。しかし、私が得たエラーメッセージは、特に詳細を提供しています。ビューが実際に存在することは注目に値しますが、何らかの理由で odoo は存在しないと言っています。
raise ValueError(formatted_message).with_traceback(from_traceback) from from_exception
odoo.exceptions.ValidationError: Error while validating view:
Element '<xpath expr="//field[@name='sel_groups_1_9_10']/..">' cannot be located in parent view
View name: res.users.form.inherit
Error context:
view: ir.ui.view(436,)
xmlid: view_users_form
view.model: res.users
view.parent: ir.ui.view(154,)
file: /odoo/odoo14/custom_addons/custom_module/views/views.xml