Python 尝试将加载项导入Odoo时出现Odoo服务器错误
我有3个附加模块需要导入到位于Odoo.sh环境中的odoov11企业版中。我能够成功导入其中两个模块,但在第三种情况下收到一条Odoo服务器错误消息。这是我收到的错误消息。有没有人有类似的问题,可以提供一些帮助Python 尝试将加载项导入Odoo时出现Odoo服务器错误,python,server,odoo,odoo-11,Python,Server,Odoo,Odoo 11,我有3个附加模块需要导入到位于Odoo.sh环境中的odoov11企业版中。我能够成功导入其中两个模块,但在第三种情况下收到一条Odoo服务器错误消息。这是我收到的错误消息。有没有人有类似的问题,可以提供一些帮助 Error: Odoo Server Error Traceback (most recent call last): File "/home/odoo/src/odoo/odoo/models.py", line 1046, in _validate_fields ch
Error:
Odoo Server Error
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/models.py", line 1046, in _validate_fields
check(self)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 342, in _check_xml
self.postprocess_and_fields(view.model, view_doc, view.id)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 1082, in postprocess_and_fields
self.raise_view_error("\n".join(msg_lines), view_id)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 519, in raise_view_error
raise ValueError(message)
ValueError: Field 'x_studio_over_credit' used in attributes must be present in view but is missing:
- 'x_studio_over_credit' in attrs="{'invisible': ['|', ('state', 'not in', ['draft']), ('x_studio_over_credit', '!=', False)]}"
- 'x_studio_over_credit' in attrs="{'invisible': ['|', ('state', 'not in', ['sent']), ('x_studio_over_credit', '!=', False)]}"
Error context:
View `view.sales.form.extend.one`
[view_id: 2257, xml_id: n/a, model: sale.order, parent_id: 844]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 745, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 655, in _tag_record
id = self.env(context=rec_context)['ir.model.data']._update(rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_model.py", line 1513, in _update
record = record.create(values)
File "/home/odoo/src/enterprise/web_studio/models/studio_mixin.py", line 18, in create
res = super(StudioMixin, self).create(vals)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 408, in create
return super(View, self).create(self._compute_defaults(values))
File "/home/odoo/src/odoo/odoo/models.py", line 3434, in create
self._fields[key].determine_inverse(record)
File "/home/odoo/src/odoo/odoo/fields.py", line 1085, in determine_inverse
getattr(records, self.inverse)()
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 273, in _inverse_arch
view.write(data)
File "/home/odoo/src/enterprise/web_studio/models/studio_mixin.py", line 27, in write
res = super(StudioMixin, self).write(vals)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 424, in write
return super(View, self).write(self._compute_defaults(vals))
File "/home/odoo/src/odoo/odoo/models.py", line 3138, in write
self._write(old_vals)
File "/home/odoo/src/odoo/odoo/models.py", line 3309, in _write
self._validate_fields(vals)
File "/home/odoo/src/odoo/odoo/models.py", line 1050, in _validate_fields
raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))
odoo.exceptions.ValidationError: ('Error while validating constraint\n\nField \'x_studio_over_credit\' used in attributes must be present in view but is missing:\n - \'x_studio_over_credit\' in attrs="{\'invisible\': [\'|\', (\'state\', \'not in\', [\'draft\']), (\'x_studio_over_credit\', \'!=\', False)]}"\n - \'x_studio_over_credit\' in attrs="{\'invisible\': [\'|\', (\'state\', \'not in\', [\'sent\']), (\'x_studio_over_credit\', \'!=\', False)]}"\n\nError context:\nView `view.sales.form.extend.one`\n[view_id: 2257, xml_id: n/a, model: sale.order, parent_id: 844]', None)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/http.py", line 653, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/odoo/src/odoo/odoo/http.py", line 312, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/home/odoo/src/odoo/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/home/odoo/src/odoo/odoo/http.py", line 695, in dispatch
result = self._call_function(**self.params)
File "/home/odoo/src/odoo/odoo/http.py", line 344, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/http.py", line 337, in checked_call
result = self.endpoint(*a, **kw)
File "/home/odoo/src/odoo/odoo/http.py", line 939, in __call__
return self.method(*args, **kw)
File "/home/odoo/src/odoo/odoo/http.py", line 517, in response_wrap
response = f(*args, **kw)
File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 938, in call_button
action = self._call_kw(model, method, args, {})
File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 926, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/home/odoo/src/odoo/odoo/api.py", line 699, in call_kw
return call_kw_multi(method, model, args, kwargs)
File "/home/odoo/src/odoo/odoo/api.py", line 690, in call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-42>", line 2, in button_immediate_install
File "/home/odoo/src/odoo/odoo/addons/base/module/module.py", line 72, in check_and_log
return method(self, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/addons/base/module/module.py", line 450, in button_immediate_install
return self._button_immediate_function(type(self).button_install)
File "/home/odoo/src/odoo/odoo/addons/base/module/module.py", line 552, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/home/odoo/src/odoo/odoo/modules/registry.py", line 85, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 380, in load_modules
loaded_modules, update_module, models_to_check)
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 274, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 181, in load_module_graph
_load_data(cr, module_name, idref, mode, kind='data')
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 95, in _load_data
tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 792, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 853, in convert_xml_import
obj.parse(doc.getroot(), mode=mode)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 752, in parse
exc_info[2]
File "/home/odoo/src/odoo/odoo/tools/pycompat.py", line 86, in reraise
raise value.with_traceback(tb)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 745, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 655, in _tag_record
id = self.env(context=rec_context)['ir.model.data']._update(rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_model.py", line 1513, in _update
record = record.create(values)
File "/home/odoo/src/enterprise/web_studio/models/studio_mixin.py", line 18, in create
res = super(StudioMixin, self).create(vals)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 408, in create
return super(View, self).create(self._compute_defaults(values))
File "/home/odoo/src/odoo/odoo/models.py", line 3434, in create
self._fields[key].determine_inverse(record)
File "/home/odoo/src/odoo/odoo/fields.py", line 1085, in determine_inverse
getattr(records, self.inverse)()
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 273, in _inverse_arch
view.write(data)
File "/home/odoo/src/enterprise/web_studio/models/studio_mixin.py", line 27, in write
res = super(StudioMixin, self).write(vals)
File "/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py", line 424, in write
return super(View, self).write(self._compute_defaults(vals))
File "/home/odoo/src/odoo/odoo/models.py", line 3138, in write
self._write(old_vals)
File "/home/odoo/src/odoo/odoo/models.py", line 3309, in _write
self._validate_fields(vals)
File "/home/odoo/src/odoo/odoo/models.py", line 1050, in _validate_fields
raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))
odoo.tools.convert.ParseError: "Error while validating constraint
Field 'x_studio_over_credit' used in attributes must be present in view but is missing:
- 'x_studio_over_credit' in attrs="{'invisible': ['|', ('state', 'not in', ['draft']), ('x_studio_over_credit', '!=', False)]}"
- 'x_studio_over_credit' in attrs="{'invisible': ['|', ('state', 'not in', ['sent']), ('x_studio_over_credit', '!=', False)]}"
Error context:
View `view.sales.form.extend.one`
[view_id: 2257, xml_id: n/a, model: sale.order, parent_id: 844]
None" while parsing /home/odoo/src/odoo/addons/crm_customer_rating/views/views.xml:4, near
<record id="view_sales_form_extend_1" model="ir.ui.view">
<field name="name">view.sales.form.extend.one</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//page[1]" position="after">
<page name="customer_satisfaction" string="Customer Satisfaction">
<group colspan="2" col="2">
<field name="quality_of_products" widget="priority"/>
<field name="acc_of_delivery" widget="priority"/>
<field name="order_satisfaction" widget="priority"/>
<field name="oa_package_rating" widget="priority"/>
</group>
</page>
</xpath>
</field>
</record>
错误:
Odoo服务器错误
回溯(最近一次呼叫最后一次):
文件“/home/odoo/src/odoo/odoo/models.py”,第1046行,在验证字段中
检查(自我)
xml中的文件“/home/odoo/src/odoo/odoo/addons/base/ir/ir\u ui\u view.py”,第342行
self.postprocess_和_字段(view.model、view_doc、view.id)
文件“/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py”,第1082行,在后处理_和_字段中
self.raise\u view\u错误(“\n”).join(消息行),view\u id)
文件“/home/odoo/src/odoo/odoo/addons/base/ir/ir\u ui\u view.py”,第519行,出现错误
提升值错误(消息)
ValueError:属性中使用的字段“x_studio_over_credit”必须出现在视图中,但缺少:
-属性中的“x_studio_over_credit”=“{'invisible':['|',('state','notin',['draft']),('x_studio_over_credit','!=',False)]中的“x_studio_over_credit”
-属性中的“x_studio_over_credit”=“{'invisible':['|',('state','notin',['sent']),('x_studio_over_credit','!=',False)]中的“x_studio_over_credit”
错误上下文:
View`View.sales.form.extend.one`
[视图id:2257,xml\U id:n/a,型号:sale.order,父视图id:844]
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
解析中第745行的文件“/home/odoo/src/odoo/odoo/tools/convert.py”
self._标签[rec.tag](rec,de,mode=mode)
文件“/home/odoo/src/odoo/odoo/tools/convert.py”,第655行,在标记记录中
id=self.env(context=rec\u context)['ir.model.data']。\u更新(rec\u model,self.module,res,rec\u id或False,而不是self.isnoupdate(data\u节点),noupdate=self.isnoupdate(data\u节点),mode=self.mode)
文件“/home/odoo/src/odoo/odoo/addons/base/ir/ir\u model.py”,第1513行,在更新中
记录=记录。创建(值)
文件“/home/odoo/src/enterprise/web\u studio/models/studio\u mixin.py”,第18行,在create中
res=super(StudioMixin,self).create(vals)
文件“/home/odoo/src/odoo/odoo/addons/base/ir/ir\u ui\u view.py”,第408行,在create中
返回super(视图,self).create(self.\u compute\u默认值(值))
文件“/home/odoo/src/odoo/odoo/models.py”,第3434行,创建
self.\u字段[键]。确定\u逆(记录)
文件“/home/odoo/src/odoo/odoo/fields.py”,第1085行
getattr(记录,自反转)()
文件“/home/odoo/src/odoo/odoo/addons/base/ir/ir\u ui\u view.py”,第273行,在拱中
查看.写入(数据)
文件“/home/odoo/src/enterprise/web\u studio/models/studio\u mixin.py”,第27行,以书面形式
res=super(StudioMixin,self).write(VAL)
写入文件“/home/odoo/src/odoo/odoo/addons/base/ir/ir_ui_view.py”,第424行
返回super(视图,self).write(self.\u计算\默认值(VAL))
写入文件“/home/odoo/src/odoo/odoo/models.py”,第3138行
自我书写(旧版本)
文件“/home/odoo/src/odoo/odoo/models.py”,第3309行,写入
自我验证字段(VAL)
文件“/home/odoo/src/odoo/odoo/models.py”,第1050行,在验证字段中
raise ValidationError(“%s\n\n%s”%(“验证约束时出错”)、tools.ustr(e)))
odoo.exceptions.ValidationError:(“验证约束时出错”\n\n属性中使用的字段“x\u studio\u over\u credit\”必须出现在视图中,但已丢失:\n-“x\u studio\u over\u credit\”属性中的“{不可见\':[\'\'\'\\\'”,[\'state\'not in\',[\'draft\'”),('x\u studio\u over u-credit\',“,”,“!=”,False)]{“不可见”:[\\'\\',(\'state\',\'not in\',[\'sent\'],(\'x\'u studio\'u over\'u credit\',\'!=\',False)]“\n\n错误上下文:\n视图`view.sales.form.extend.one`\n[view\u id:2257,xml\u id:n/a,model:sale.order,parent\u id:844],无)
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“/home/odoo/src/odoo/odoo/http.py”,第653行,在异常处理中
返回super(JsonRequest,self)。\u handle\u异常(exception)
文件“/home/odoo/src/odoo/odoo/http.py”,第312行,在异常处理中
raise pycompat.reraise(类型(异常)、异常、sys.exc_info()[2])
文件“/home/odoo/src/odoo/odoo/tools/pycompat.py”,第87行,在reraise中
增值
文件“/home/odoo/src/odoo/odoo/http.py”,第695行,在分派中
结果=self.\u调用函数(**self.params)
文件“/home/odoo/src/odoo/odoo/http.py”,第344行,在调用函数中
返回选中的\u调用(self.db、*args、**kwargs)
文件“/home/odoo/src/odoo/odoo/service/model.py”,第97行,在包装器中
返回f(数据库名,*args,**kwargs)
文件“/home/odoo/src/odoo/odoo/http.py”,第337行,在checked_调用中
结果=自身终点(*a,**kw)
文件“/home/odoo/src/odoo/odoo/http.py”,第939行,在调用中__
返回自方法(*参数,**kw)
文件“/home/odoo/src/odoo/odoo/http.py”,第517行,作为响应
响应=f(*参数,**kw)
文件“/home/odoo/src/odoo/addons/web/controllers/main.py”,第938行,调用按钮
action=self.\u调用\u kw(模型、方法、参数,{})
文件“/home/odoo/src/odoo/addons/web/controllers/main.py”,第926行,输入
返回调用(request.env[model],方法,args,kwargs)
文件“/home/odoo/src/odoo/odoo/api.py”,第699行,在call\u-kw中
返回调用(方法、模型、参数、kwargs)
文件“/home/odoo/src/odoo/odoo/api.py”,第690行,在call\u kw\u multi中
结果=方法(recs、*args、**kwargs)
文件“”,第2行,在“立即安装”按钮中
文件“/home/odoo/src/odoo/odoo/addons/base/module/module.py”,第72行,在检查和检查日志中
返回方法(self、*args、**kwargs)
文件“/home/odoo/src/odoo/odoo/addons/base/module/module.py”,第450行,在“立即安装”按钮中
返回self.\u按钮\u立即\u功能(类型(self).按钮\u安装)
文件“/home/odoo/src/odoo/odoo/addons/base/module/module.py”,第552行,在
<record id="view_sales_form_extend_1" model="ir.ui.view">
<field name="name">view.sales.form.extend.one</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//page[1]" position="after">
<page name="customer_satisfaction" string="Customer Satisfaction">
<group colspan="2" col="2">
<field name="quality_of_products" widget="priority"/>
<field name="acc_of_delivery" widget="priority"/>
<field name="order_satisfaction" widget="priority"/>
<field name="oa_package_rating" widget="priority"/>
</group>
</page>
</xpath>
</field>
</record>
<record id="view_sales_filter_extend" model="ir.ui.view">
<field name="name">view.sales.filter.extend.one</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_sales_order_filter"/>
<field name="arch" type="xml">
<xpath expr="//filter[@name='customer']" position="after">
<separator/>
<filter string="Quality of Products" name="quality_of_products" domain="[]" context="{'group_by':'quality_of_products'}"/>
<filter string="Accuracy of Delivery" name="acc_of_delivery" domain="[]" context="{'group_by':'acc_of_delivery'}"/>
<filter string="Order Satisfaction" name="order_satisfaction" domain="[]" context="{'group_by':'order_satisfaction'}"/>
<filter string="Overall Rating of Package" name="oa_package_rating" domain="[]" context="{'group_by':'oa_package_rating'}"/>
</xpath>
</field>
</record>
<record id="res_partner_customer_preferences" model="ir.ui.view">
<field name="name">res.partner.customer.preferences</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form" />
<field name="arch" type="xml">
<xpath expr="//page[@name='internal_notes']" position="after">
<page name="customer_preferences" string="Preferences">
<group colspan="2" col="2">
<field name="likes"/>
<field name="dislikes"/>
<field name="preferred_supply_time"/>
<field name="peculiarity_of_client"/>
</group>
</page>
</xpath>
</field>
</record>
Error:
Odoo Server Error
Traceback (most recent call last):
File "/home/odoo/src/odoo/odoo/http.py", line 653, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/odoo/src/odoo/odoo/http.py", line 312, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/home/odoo/src/odoo/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/home/odoo/src/odoo/odoo/http.py", line 695, in dispatch
result = self._call_function(**self.params)
File "/home/odoo/src/odoo/odoo/http.py", line 344, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/http.py", line 337, in checked_call
result = self.endpoint(*a, **kw)
File "/home/odoo/src/odoo/odoo/http.py", line 939, in __call__
return self.method(*args, **kw)
File "/home/odoo/src/odoo/odoo/http.py", line 517, in response_wrap
response = f(*args, **kw)
File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 938, in call_button
action = self._call_kw(model, method, args, {})
File "/home/odoo/src/odoo/addons/web/controllers/main.py", line 926, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/home/odoo/src/odoo/odoo/api.py", line 699, in call_kw
return call_kw_multi(method, model, args, kwargs)
File "/home/odoo/src/odoo/odoo/api.py", line 690, in call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-42>", line 2, in button_immediate_install
File "/home/odoo/src/odoo/odoo/addons/base/module/module.py", line 72, in check_and_log
return method(self, *args, **kwargs)
File "/home/odoo/src/odoo/odoo/addons/base/module/module.py", line 450, in button_immediate_install
return self._button_immediate_function(type(self).button_install)
File "/home/odoo/src/odoo/odoo/addons/base/module/module.py", line 552, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/home/odoo/src/odoo/odoo/modules/registry.py", line 85, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 380, in load_modules
loaded_modules, update_module, models_to_check)
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 274, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 181, in load_module_graph
_load_data(cr, module_name, idref, mode, kind='data')
File "/home/odoo/src/odoo/odoo/modules/loading.py", line 95, in _load_data
tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 792, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/home/odoo/src/odoo/odoo/tools/convert.py", line 836, in convert_xml_import
doc = etree.parse(xmlfile)
File "src/lxml/etree.pyx", line 3426, in lxml.etree.parse
File "src/lxml/parser.pxi", line 1861, in lxml.etree._parseDocument
File "src/lxml/parser.pxi", line 1881, in lxml.etree._parseFilelikeDocument
File "src/lxml/parser.pxi", line 1776, in lxml.etree._parseDocFromFilelike
File "src/lxml/parser.pxi", line 1187, in lxml.etree._BaseParser._parseDocFromFilelike
File "src/lxml/parser.pxi", line 601, in lxml.etree._ParserContext._handleParseResultDoc
File "src/lxml/parser.pxi", line 711, in lxml.etree._handleParseResult
File "src/lxml/parser.pxi", line 640, in lxml.etree._raiseParseError
File "/home/odoo/src/enterprise/crm_customer_rating/views/views.xml", line 10
lxml.etree.XMLSyntaxError: attributes construct error, line 10, column 82
<notebook position="inside">
<page name="customer_satisfaction" string="Customer Satisfaction">
<group colspan="2" col="2">
<field name="quality_of_products" widget="priority"/>
<field name="acc_of_delivery" widget="priority"/>
<field name="order_satisfaction" widget="priority"/>
<field name="oa_package_rating" widget="priority"/>
</group>
</page>
</notebook>