您好,我想给一个记录一个域,但我无法访问相关字段
这是我的代码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进行操作,但是当我调用该字段时,什么都没有发生
答案 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
的特定值。但这并不是要在“菜单/查看操作”域中工作。