odoo 模块中的模型关系

many2one,one2many,many2many

odoo 自带的 ORM 框架,使得我们在开发过程中,无需首先设计数据库结构,而是通过代码来定义数据模型,然后通过 ORM 将这些代码转换成数据表、字段以及表之间的关系。many2one/one2many/many2many 是 odoo 模型中最常见的三种关系定义。

模型关系定义

  • many2one:比如“多个员工属于一个部门”
class Employee(models.Model):
    _name = 'employee'
    department_id = fields.Many2one('department', string="Department")
  • one2many:比如“一个部门有多个员工”
class Department(models.Model):
    _name = 'department'
    employee_ids = fields.One2many('employee', 'department_id', string="Employees")
  • many2many:比如“学生和课程的关系”
class Student(models.Model):
    _name = 'student'
    course_ids = fields.Many2many('course', string="Courses")

class Course(models.Model):
    _name = 'course'
    student_ids = fields.Many2many('student', string="Students")

视频讲解

点击下载代码


开发
标签
存档
odoo插件多版本开发
管理好自己开发的模块,以适配odoo的不同版本