Odoo V10 如何访问记录规则中的不同模型?

How to access different models in record rules in Odoo V10?

我想访问 op.student 中的 op.faculty 模型,我正在为其创建记录规则。

[('x_school_id', '=', user.x_school_id)]

faculty 模型的目的 - 他们(教师用户)只能看到指定的学生。 通过记录规则,我们想把师生模型匹配在一起。

您在记录规则上使用的当前模型 "access another model" 的唯一方法是通过 fields 属性。

op.student 模型添加关系字段以提取 op.faculty 所需的任何数据。我不确定你的确切情况,但你应该能够 link 一起模型,但是你需要如下:

from odoo import fields, models

class Faculty(models.Model):
    _name = 'op.faculty'

    school_id = fields.Many2one('op.school')
    school_student_ids = fields.One2many(related='school_id.student_ids')
    my_student_ids = fields.One2many('op.student', 'mentor_id')

class Student(models.Model):
    _name = 'op.student'

    school_id = fields.Many2one('op.school')
    school_faculty = fields.One2many(related='school_id.faculty_ids')
    mentor_id = fields.Many2one('op.faculty')

class School(models.Model):
    _name = 'op.school'

    faculty_ids = fields.One2many('op.faculty', 'school_id')
    student_ids = fields.One2many('op.student', 'school_id')