【发布时间】:2017-09-22 09:34:11
【问题描述】:
我知道如何使用One2many 关系建立header->detail 关系。这很简单,但在现实世界中,我们需要有比这更复杂的东西。
就我而言,我有这些表。
Student Homework Paper Test
--------------------------------------------
id id id id
name subject title score
Student 表有
-
one2many到Homework -
one2many到Paper -
one2many到Test
还有
-
Homework有many2one到Student -
Paper有many2one到Student -
Test有many2one到Student
导致这些关系
Student Homework Paper Test
--------------------------------------------
id id id id
name subject title score
homework_ids student_id student_id student_id
paper_ids
test_ids
我可以使用Student 模型创建一个表单,并使用One2many 小部件从该表单输入Homework、Paper 和Test。
但是,如果我想要一个带有Homework 模型的表单,我首先选择一个Student,然后输入她的Homework,但我也想从那个表单中看到(或输入)她的另一个Paper、Test等信息?
使用Homework、Paper 和Test 之间的Many2many 关系只是为了让学生的Paper 和Test 可以从Homework 访问,这对我来说似乎很奇怪。它还使数据库结构复杂化,创建了不必要的Many2many 关系。
除了使用Many2many 关系之外,还有其他方法吗?我觉得如果我用那个数据库结构会很丑。
我对 Odoo 非常关注,因为它是一个严重依赖模型的框架。您必须首先从正确的模型开始!
【问题讨论】: