python - 向 hr.employees 添加字段
问题描述
尝试将字段添加到模型 hr.employees (在address_home_id之后的cmp)
这是我的代码。
__manifest__.py
'name': 'Add Fields to HR module',
'description': 'Add Fields to HR Module',
'depends': ['base','hr'],
'data':[
'views/res_hr_view.xml',
],
res_hr.py
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
和。准备好模块安装/更新时重新启动服务器或使用开发模式让 Odoo 自行处理。models/__init__.py
model1
model2
推荐阅读
- mysql - Django 2.0 - Python3.6 - CentOS 7 - MySQL 连接
- java - 在 e4 RCP 应用程序中显示状态行并将其连接到 ProgressView/EclipseJob 进度
- mongodb - 通过 ansible playbook 启用 mongo 身份验证
- c++ - 在 C++11 中,signal.h 标头没有终止功能
- rabbitmq - 使用多个 RabbitTemplate 对象时超时后收到回复
- java - Spring Boot 部署 Wildfly 不起作用
- r - R with testthat:获取导出函数的列表
- swift - 在 UIBezierPath 图上应用渐变层
- javascript - 如何从 JSON 中获取和显示其他选项
- azure-functions - Azure Functions Application Insights 上下文