2

我想知道最初在 OpenERP6.1 中为 one2many 表存储的值在哪里?即,如果我们为 one2many 表创建一条记录,则该记录只有在保存与此关联的主表的记录后才会真正保存到数据库表中,即使我们可以为 one2many 表创建许多记录(行)。

这些行存储在哪里?

它们是否存储在任何 OpenERP 内存变量中?如果是这样,我们可以使用哪个变量或函数来访问它们..

请帮我解决这个问题。

提前致谢!!!

4

3 回答 3

2

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

于 2013-01-02T09:10:14.057 回答
0

当您定义 o2m 字段时,您必须在关系表中创建一个 m2o 字段,我们将在 o2m 中将其称为第二个参数。现在数据库观点 o2m 领域根本不存在。相反,我们将信息存储在关系表上,例如

OpenERP Code:
modelA                 MOdel B
o2m_field   -------->  m2o_field 

While Databvase picture is 

tableA                    TableB
                        m2o_field (FK)

现在,我们需要在 id= 当前记录的关系表 m2o 字段中显示客户端框架搜索中的 o2m 字段值,这里有结果。

谢谢你

于 2013-01-02T11:47:23.073 回答
0

One2Many 字段是 OpenERP 中的子父关系。One2Many 只是逻辑字段,在数据库中对此没有影响。

如果您正在创建销售订单,则销售订单行是销售订单模型中的 One2Many。但是,如果您不将 Many2One 放在销售订单行中,那么 One2Many 在销售订单中将不起作用。

Many2One 字段将相关模型的外键放在当前表中。

于 2013-01-02T10:37:41.073 回答