2

OpenERP6.1 で最初に one2many テーブルに格納された値はどこにあるのか知りたいです。つまり、one2many テーブルのレコードを作成する場合、このレコードは、one2many テーブルに対して多くのレコード (行) を作成できるにもかかわらず、これに関連付けられたメイン テーブルのレコードを保存した後にのみ、実際にデータベース テーブルに保存されます。

これらの行はどこに保存されますか?

それらは OpenERP メモリ変数に格納されていますか? もしそうなら、それらにアクセスできる変数または関数はどれですか..

これについて私を助けてください。

前もって感謝します!!!

4

3 に答える 3

2

openerp で新しいレコードを保存すると、すべてのフィールドのデータがキーで、そのデータが値であるディクショナリが生成されます。フィールドが one2many で行数が多い場合、辞書のリストが one2many フィールドの値になります。openerpの関数createと関数をオーバーライドすることで変更できます。write

于 2013-01-02T09:10:14.057 に答える
0

o2m フィールドを定義する場合、関係テーブルに 1 つの m2o フィールドを作成する必要があります。これは、o2m で 2 番目のパラメータとして参照されます。現在、データベースの観点から o2m フィールドはまったく存在しません。むしろ、関係テーブルに情報を保存します。

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

While Databvase picture is 

tableA                    TableB
                        m2o_field (FK)

ここで、クライアント フレームワークで o2m フィールドの値を表示する必要があります。リレーション テーブルの m2o フィールドで id= 現在のレコードを検索すると、結果が表示されます。

ありがとうございました

于 2013-01-02T11:47:23.073 に答える
0

One2Many フィールドは OpenERP の親子関係です。One2Many は単なる論理フィールドであり、データベースには影響しません。

販売注文を作成している場合、販売注文ラインは販売注文モデルの One2Many です。ただし、Many2One を Sale オーダー ラインに入れないと、One2Many in Sale オーダーは機能しません。

Many2One フィールドは、関連するモデルの外部キーを現在のテーブルに置きます。

于 2013-01-02T10:37:41.073 に答える