最初在OpenERP6.1中为one2many表存储的值在哪里

时间:2013-01-02 08:57:43

标签: python openerp

我想知道最初在OpenERP6.1中为one2many表存储的值在哪里? 即如果我们为one2many表创建记录,则该记录实际上是 仅在保存主表的记录后保存到数据库表 与此相关联,即使我们可以为one2many创建许多记录(行) 表

这些行存储在哪里?

它们是否存储在任何OpenERP内存变量中?如果是这样的那个变量 或者我们可以访问它们的功能..

请帮我解决这个问题。

提前致谢!!!

3 个答案:

答案 0 :(得分:1)

在openerp中保存新记录时,将生成一个字典,其中所有字段都将数据作为键,其数据作为值。如果该字段是one2many且有许多行,则字典列表将是one2many字段的值。您可以通过覆盖openerp中的createwrite函数来修改它。

答案 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 =当前记录,此处显示结果。

谢谢