首页 > 其他分享 >Odoo中many2one 中的 many是指什么?one是指什么?

Odoo中many2one 中的 many是指什么?one是指什么?

时间:2023-03-01 16:02:25浏览次数:32  
标签:Many2one many 模型 many2one 关联 Odoo department 员工 id

  在 Odoo 中,Many2one 是一种关联字段类型,用于建立模型之间的多对一关系。

  Many2one 的“many”表示:一个模型可以与多个其他模型关联,

  而“one”表示:一个模型只能与另一个模型建立关联关系。

 

例如,如果一个产品模型具有一个 Many2one 关联字段 order_id,那么这意味着每个产品记录都可以与一个销售订单记录关联,

    而一个销售订单记录可以与多个产品记录关联。

    这是一种多对一的关系,因为一个销售订单可以包含多个产品,但一个产品只能属于一个销售订单。

    需要注意的是,Many2one 关联字段也可以用于建立一对一关系,

            例如,在客户和合同模型之间的关联中,每个客户可以有一个合同,而每个合同也只能属于一个客户。

            在这种情况下,每个模型之间的关系是一对一的关系,但仍然可以使用 Many2one 关联字段来建立关联关系。

 

 

举例子:

假设有两个模型:员工和部门。一个员工只能属于一个部门,而一个部门可以包含多个员工。这是一个多对一的关系,可以使用 Many2one 关联字段在员工模型中建立到部门模型的关联。

在员工模型中定义 Many2one 关联字段 department_id,它将指向部门模型的 id 字段、 它将指向部门模型的 id 字段、 它将指向部门模型的 id 字段、

class Employee(models.Model):
    _name = 'my_module.employee'

    name = fields.Char(string='Name')
    department_id = fields.Many2one('my_module.department', string='Department')

在部门模型中,可以定义一个 One2many 关联字段 employees,用于反向访问与部门相关联的所有员工记录:

class Department(models.Model):
    _name = 'my_module.department'

    name = fields.Char(string='Name')
    employees = fields.One2many('my_module.employee', 'department_id', string='Employees')

这里,One2many 关联字段 employees 存储在部门模型中,而 Many2one 关联字段 department_id 存储在员工模型中。这意味着每个员工记录都可以与一个部门记录关联,而每个部门记录都可以与多个员工记录关联。

通过使用这两个关联字段,可以轻松地访问员工和部门之间的关系。

 

例如,可以使用 department_id 字段查找一个员工所属的部门,或使用 employees 字段查找与一个部门相关联的所有员工记录。这种方式可以方便地处理模型之间的关系,使数据的管理和查询变得更加简单和高效。

标签:Many2one,many,模型,many2one,关联,Odoo,department,员工,id
From: https://www.cnblogs.com/lyt263/p/17168552.html

相关文章

  • [CF755G] PolandBall and Many Other Balls 题解
    [CF755G]PolandBallandManyOtherBalls题解题意概括有一排\(n\)个球,定义一个组可以只包含一个球或者包含两个相邻的球。现在一个球只能分到一个组中,求从这些球中......
  • odoo docker 部署
    1: dockerrun-d-ePOSTGRES_USER=odoo-ePOSTGRES_PASSWORD=odoo-ePOSTGRES_DB=postgres--namedbpostgres:13安装pg13的docker  2:  dockerrun-v/op......
  • odoo Actions学习总结
    环境odoo-14.0.post20221212.tarActions(动作)action定义系统响应用户操作的行为:登录、操作按钮、选择发票等…action可以存储在数据库中,也可以作为字典直接返回,例如按......
  • odoo 给form表单视图内联列表添加按钮
    实践环境Odoo14.0-20221212(CommunityEdition)代码实现模块文件组织结构说明:为了更好的表达本文主题,一些和主题无关的文件、代码已略去odoo14\custom\estate│_......
  • How many points are inside the hole revealed by the Dedekind cut?
    Itisillustratedbythefigurethatthesetoftherationalnumbersisnotacontinuum,thereareholesinit,onequestionishowmanypointsareinsidethe......
  • Odoo14_pdf下载功能实现
    1.安装wkhtmltopdfsudoaptinstallwkhtmltopdf2.安装pip包pip3installpdfkit3.代码实现#-*-coding:utf-8-*-fromodooimporthttpimportpdfkitcl......
  • Odoo Deployment Expert.
    OdooDeploymentExpert.  roadyoung请假设你是odoo部署专家,应用及开发工程师。 好的,作为Odoo部署专家、应用及开发工程师,我可以提供以下服务: Odoo部署:我可以帮助客......
  • Odoo 根据表单条件隐藏明细字段创建和删除按钮 one2many字段创建和删除按钮
    版本:odoo14需求:根据表单模型状态,明细行有条件的创建和删除eg:仅能在草稿下新增/在确认状态下删除ps:视图全程不需要可以在form/tree标签内指定create/delete......
  • odoo 给列表视图添加按钮实现数据文件导入
    实践环境Odoo14.0-20221212(CommunityEdition)代码实现模块文件组织结构说明:为了更好的表达本文主题,一些和主题无关的文件、代码已略去odoo14\custom\estate│_......
  • OneToMany字段序列化 failed to lazily initialize a collection of role
    hibernate项目中,如果要对onetomany的pojo对象中的字段序列化,则会抛failedtolazilyinitializeacollectionofrole错误。  解决方法1:目前我是用Jackson中的@JsonIgnor......