(求助)one2many many2one 是一个问题
-
虽然我搞了很久还是搞不懂one2many跟many2one,我当然是明白这两者字面的意思,但是谁主词谁是受词?
举例来说我要建立一个模型叫“培训”,其中会有一个字段是“参加部门”,这就会牵涉到跟系统里面的hr.department有关联,假设一个培训(one)会有很多部门(many)来参加,那么问题来了:
我在我建立的这个“培训”模型里面的“参加部门”字段,它是one2many还是many2one?如果是站在“培训”的角度来说当然是one2many但是站在“参加部门”的角度来说它应该就是many2one,实在是搞不清楚啊!大侠救命。 -
你这是many2many吧
-
OK!其实我也考虑过我的情况是不是应该是many2many?不过many2many只是回避掉了我的疑问,我的疑问还是存在,看这个关系(one2many还是many2one)是在在我定义的模型的角度来看还是站在定义模型里面的字段的角度来看呢?
-
我觉得2位大神都误会我的意思了。我用那个例子可能不太好,我改用一个例子,例如:
我新建一个模型:公司my_company,公司里面我定义了一个字段叫员工 x_my_employee。问题来了,我在定义x_my_employee的[s]形态[/s][color=red](感谢Jeff的纠正,是field type 字段类型,在问问题的时候,脑子里一时想不起来field type的中文怎么说,任性的随便翻译了一下)[/color]的时候,我应该选oen2many还是many2one?(假设一个只能在一个公司任职,不考虑一个人同时在两个公司任职的情形)
如果站在my_company的角度来看,应该是oen2many,因为一个公司有很多员工,而站在x_my_employee的角度来看,应该是many2one,所以我在问的角度的问题。 -
[quote author=Jeff link=topic=17010.msg30086#msg30086 date=1423483557]
“我在定义x_my_employee的形态的时候”
请注意及时修改问题中的错别字!谢谢
你在定义x_my_employee字段的类型时,你还是在my_company这个对象上,所以视角从当前对象出发,是one2many
[/quote]受教了,如梦初醒。