奥多。为什么我继承的 'hr.employee' 模型效果不佳?

Odoo. Why my inheritance of 'hr.employee' model is working bad?

我需要创建一个新模型,例如“hr.employee.lines”,以便将 1 名或多名员工分配给特定员工。像层次结构。

所以,在我的 hr_employee.py 文件中我有这个:

from odoo import fields, models, api, _

class Employees(models.Model):
    _inherit = 'hr.employee'

    approvers = fields.One2many('hr.employee.approvers', 'employee_id')

class EmployeeApprovers(models.Model):
    _name = 'hr.employee.approvers'

    employee_id = fields.Many2one('hr.employee')
    lower_limit = fields.Integer('Lower limit')
    upper_limit = fields.Integer('Upper limit')

在数据库上一切看起来都很好。问题是当我尝试在 'hr.employee' 表单中添加 'hr.employee.approvers' 时。

在这张图片中,您可以看到我在保存之前要添加的内容。

而且,当我保存它时,员工更改为实际员工的姓名。

我认为没有问题是 XML,但我可能是错的,所以我会把它写下来。

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data>
        <record id="view_hr_employee_form_inherit" model="ir.ui.view">
            <field name="name">hr.employee.form.inherit</field>
            <field name="model">hr.employee</field>
            <field name="inherit_id" ref="hr.view_employee_form"/>
            <field name="arch" type="xml">
                <xpath expr="//page[@name='public']" position="inside">
                    <group string="Aprobadores">
                        <field name="approvers">
                            <tree string="Aprobadores" editable="bottom">
                                <field name="employee_id"/>
                                <field name="lower_limit"/>
                                <field name="upper_limit"/>
                            </tree>
                        </field>
                    </group>
                </xpath>
            </field>
        </record>
    </data>
</odoo>

我将不胜感激。

One2many field:
The value of such a field is the recordset of all the records in comodel_name such that the field inverse_name is equal to the current record.

您正在编辑 inverse_name 字段的值,hr.employee.approvers 模型记录中 employee_id 的值应设置为 Eli Lambert 记录 id .

您需要添加另一个字段 approver_id 来引用 hr.employee 并显示它而不是 employee_id(使 employee_id 字段在表单视图中不可见)。

如果批准人是具有lowerupper限制的员工,请将这两个限制字段添加到员工模型中,并改用Many2many字段。