尝试将字段添加到模型hr.employees(address_home_id之后的cmp)
这是我的代码。
__manifest__.朋友
'name': 'Add Fields to HR module',
'description': 'Add Fields to HR Module',
'depends': ['base','hr'],
'data':[
'views/res_hr_view.xml',
],
热水_HR.朋友
from odoo import models, fields, api
class ResHR(models.Model):
_inherit = 'hr'
cmp = fields.Char()
res_hr_view.xml
<?xml version="1.0"?>
<odoo>
<record id="res_hr_form_inherited"
model="ir.ui.view">
<field name="name">Add Fields HR Employees</field>
<field name="model">hr.employee</field>
<field name="inherit_id" ref="hr.view_employee_form"/>
<field name="arch" type="xml">
<field name="address_home_id" position="after">
<field name="cmp" string="C.M.P"/>
</field>
</field>
</record>
但是当我尝试安装它时,请告诉我下一个错误。
Field 'cmp' does not exist error on inherited view.
> /home/odoo/odoo-dev/odoo/odoo/models.py(1083)_validate_fields()
-> raise ValidationError("%s\n\n%s" % (_("Error while validating
constraint"), tools.ustr(e)))
我究竟做错了什么 ?
确保导入res_hr.py。通常模块/应用程序看起来像
models/
|-- __init__.py
|-- model1.py
|-- model2.py
views/
|-- model1_views.xml
|-- model2_views.xml
__init__.py
__manifest__.py
__init__.py
应该导入models
,而models/__init__.py
应该导入model1
和model2
。准备好进行模块安装/更新时重新启动服务器,或者使用开发模式让Odoo自己处理它。