我想知道最初在OpenERP6.1中为one2many表存储的值在哪里? 即如果我们为one2many表创建记录,则该记录实际上是 仅在保存主表的记录后保存到数据库表 与此相关联,即使我们可以为one2many创建许多记录(行) 表
这些行存储在哪里?
它们是否存储在任何OpenERP内存变量中?如果是这样的那个变量 或者我们可以访问它们的功能..
请帮我解决这个问题。
提前致谢!!!
答案 0 :(得分:1)
在openerp中保存新记录时,将生成一个字典,其中所有字段都将数据作为键,其数据作为值。如果该字段是one2many且有许多行,则字典列表将是one2many字段的值。您可以通过覆盖openerp中的create
和write
函数来修改它。
答案 1 :(得分:0)
One2Many字段是OpenERP中的子父关系。 One2Many只是逻辑字段,对数据库没有任何影响。
如果您要创建销售订单,那么销售订单行是销售订单模型中的One2Many。但是,如果您不在销售订单行中放置Many2One,则销售订单中的One2Many将无效。
Many2One字段将相关模型的外键放在当前表中。
答案 2 :(得分:0)
当您定义o2m字段时,您必须在关系表中创建一个m2o字段,我们将在o2m中将其引用为第二个Param。现在数据库的观点o2m字段根本不存在。相反,我们将信息存储在关系表中,例如
OpenERP Code:
modelA MOdel B
o2m_field --------> m2o_field
While Databvase picture is
tableA TableB
m2o_field (FK)
现在,我们需要在客户框架搜索中显示o2m字段值,在关系表m2o字段中搜索id =当前记录,此处显示结果。
谢谢