如何在odoo中使用“相关”

问题描述

我有课:

    class test(models.Models):
       _name = "student"
       .....
       gender = fields.Selection([
            ('m','Male'),('f','Female'),('o','Other')

我还有一堂课:

class get_Value(models.Models):
     _name = "school"

     student_id = fields.Many2one("module.test",string="Student")
     gender = fields.Char(string="Gender",related="student_id.gender")

odoo 是假的。

解决方法

您的代码应如下所示:

学生:

class Student(models.Models):
    _name = "modulename.student"
    
    gender = fields.Selection([
        ('m','Male'),('f','Female'),('o','Other')
    ])

学校:

class School(models.Models):
     _name = "modulename.school"

     student_id = fields.Many2one("modulename.student",string="Student")
     gender = fields.Selection(string="Gender",related="student_id.gender")
  1. 最好有有意义的类名。 (例如,Student 代表您的学生班级)此外,建议使用您的模块名(例如 modulename.modelname)来命名您的班级
  2. 您的 Many2one 关系需要指向另一个类的 _name 字段。
  3. 您与不同类型的领域相关。

您可以在此处找到更多信息:https://www.odoo.com/documentation/14.0/developer/howtos/backend.html

,

您不必为相关字段设置其他类型的字段,应该是相同的,在本例中为 selection

 gender = fields.Selection(related="student_id.gender")