2017-08-19 9 views
0

レコードルールを作成中のop.studentop.facultyモデルにアクセスしたいと思います。Odoo V10のレコードルールで異なるモデルにアクセスする方法は?

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

facultyモデルの目的 - 彼ら(学部のユーザ)のみ割り当てられた学生を見ることができます。 レコードルールを使用して、教職員モデルと学生モデルを照合します。

+0

学生モデルの教員の目的は何ですか?達成しようとしている記録ルールは何ですか?各モデルのモデル/フィールド定義を含めることができますか? – travisw

+0

教員モデルの目的 - 彼ら(教員のユーザ)は割り当てられた生徒のみを見ることができます。レコードのルールを通じ、教員と学生のモデルを一致させたいと考えています。 –

+0

'op.faculty'モデルと' op.student'モデル(関連するフィールドを含む)をあなたの質問に含めることができますか?私は今あなたが欲しいものを理解していますが、私はあなたが持っているものに基づいて適切に答えるようにしたいと思います。 – travisw

答えて

1

レコードルールで作業している現在のモデルから「別のモデルにアクセスする」唯一の方法は、fieldsの属性を使用することです。

モデルにリレーフィールドを追加して、op.facultyに必要なデータをすべて取得します。あなたの正確なシナリオはわかりませんが、モデルをリンクするには、次のようなものが必要です。

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') 
関連する問題