一对多反向关系
来自Odoo大V社-odoo中文开发手册
2355481564(讨论 | 贡献)2017年1月17日 (二) 03:59的版本 (创建页面,内容为“一种可以添加到另一端的与Many2one相反的关系。这对于数据库结构没有实质的影响,但是允许我们在one端更容易访问many端关联...”)
一种可以添加到另一端的与Many2one相反的关系。这对于数据库结构没有实质的影响,但是允许我们在one端更容易访问many端关联的记录。一个典型的使用场景就是,文档主体与它的明细行的关系。
在我们的示例中,Stages中的One2many关系能让我们更容易的列出拥有的Tasks。在Stages中添加的代码如下:
class Stage(models.Model): _name = 'todo.task.stage' # Stage class relationship with Tasks: tasks = fields.One2many( 'todo.task', # related model 'stage_id', # field for "this" on related model 'Tasks in this stage')
One2many按顺序接收3个参数:关联的模块,关联模块的字段名称,标题文本。最开始的两个参数通常是模块名和相反关系对应的外键字段名。 可选的附加关键参数和Many2one相同:context,domain,ondelete(这个是作用在many端的)和auto_join。