进入与many2one相关的字段

时间:2018-10-04 14:03:35

标签: python odoo odoo-8

您好,我想给一个记录一个域,但我无法访问相关字段

这是我的代码python:

       class emmployee_e(models.Model):
             _inherit = 'employee.departement'

             employee_parent_id = fields.Many2one('res.partner', string="parent id",related="employee_id.parent_id",store=True)

这是我的xml代码

    <record model="ir.actions.act_window" id="parent_action">
        <field name="name">name record</field>
        <field name="res_model">employee.departement</field>
        <field name="view_type">form</field>
        <field name="view_mode">tree,form</field>
         <field name="domain">[('employee_id','child_of', 'employee_parent_id')]
        </field>

        <field name="context">{'search_default_This_Week': 1}</field>
        <field name="help" type="html">
            <p class="oe_view_nocontent_create">Click here to add new message</p>
        </field>
    </record>

如何访问此字段,我尝试使用员工域ID进行操作,但是当我调用该字段时,什么都没有发生

2 个答案:

答案 0 :(得分:1)

这里的域是错误的。

FROM

employee_id 引用 hr.employee 表,并且您已使用 res.partner 表声明了 employee_parent_id 引导错误的域。因此,我们需要提供 hr.employee

ids

答案 1 :(得分:0)

错误是因为您无法在域元组的右侧使用模型fields,因为没有可用的上下文来提供该变量的值以替换为生成一个有效的sql值查询。

这是Odoo查询域的局限性,仅当您在“表单”视图中使用它或手动触发域搜索用法时才可以像您期望的那样工作,并且在两种情况下,域都应在变量中不带引号,喜欢:

[('employee_id','child_of', employee_parent_id)]

将有一个评估上下文,它将提供该变量employee_parent_id的特定值。但这并不是要在“菜单/查看操作”域中工作。