ようこそ!

このフォーラムはOdooに興味がある方はどなたでも参加いただけます。Odooに関する質問を投稿したり、質問に回答したりすることができます。

0

データベースから直接情報を取得するにはどのようにすれば良いですか?

By
Manami Hashi
on 2016/03/16 9:32422 ビュー

PostgreSQL から直接データベースにアクセスして、Odoo内の情報を取得したいのですが、テーブルやカラムはどこで確認すれば良いですか?

この質問は ハウツー でもご覧いただけます。

1

Manami Hashi

--Manami Hashi--
Quartile Limited
https://www.quartile.co
1095
| 4 1 2
--Manami Hashi--
Manami Hashi
オン 2016/03/16 9:32

設定->技術->データベース構造 に行きますと大体のことがわかります。

image

「モデル」がテーブルで、「項目」がカラムに対応しており、

image

image

SELECT (項目名) FROM (モデル名); でほとんどの情報を検索することができます。

image

ただ、顧客のカテゴリーに対応するパートナータグなどは、ひとつのレコードに複数の情報を持ちますので、先程の構文では検索できません。

image

このような項目(フィールド)は Many2Many field といいます。

Many2Many field

設定->技術->データベース構造->多対多の関係 に進むと、Many2Many field の関係に対応するテーブルが見られます。

image

パートナーとパートナータグの関係に対応するテーブルは res_partner_res_partner_category_rel です。

image

データベースから覗くと、そのテーブルはパートナーIDとカテゴリーIDのカラムを持っていることがわかりますね。

image

プロパティフィールド

Many2Many field 以外にもうひとつ注意すべきフィールドがあります。

たとえば顧客の会計に関する情報に、「会計ポジション」や「売掛金勘定」がありますが、これらはパートナーテーブルではなく、別のテーブルに格納されています。

image

それらはプロパティフィールドといって、設定->技術->パラメータ->Company Properties から確認できます。

image

たとえばプロパティフィールド「顧客支払条件」は、プロパティテーブル内に property_payment_term というレコードを持っていて、パートナーのIDと、支払条件のIDの情報を持っているというわけです。

image

まとめ

  • データベースからは SELECT (項目名) FROM (モデル名); で検索!
  • Many2Many fieldは「多対多の関係」から関連するテーブルを探せ!
  • Property field は「Company Properties」から関連するレコードを探せ!

  • Flag

この質問は ハウツー でもご覧いただけます。

0
Takuya Sawada
オン 2018/03/29 13:52

田代さんの回答で、十分問題解決できていると思いますが、
複雑なモデルの場合、SQL のリレーションを自分で JOIN するのはなかなか大変かもしれません。

また、読取専用で SELECT 等する分には問題ないですが UPDATE 等直接 Postgres で実行するのは怖いので、
Odoo の WEB XML RPC の API を利用することをオススメします。
こちらを使えば、複雑なモデルでも比較的簡単に扱えます。

英語ですが、以下に参考リンクを貼っておきます。

Ref) https://www.odoo.com/documentation/11.0/webservices/odoo.html

また、大規模なデータの取り込みの高速化等は
以下のスライドがとても参考になるかと思います。

Ref) https://www.odoo.com/slides/slide/how-to-import-large-complex-data-into-odoo-455/pdf_content

  • Flag

回答をどうぞ!

問題解決につながる実際的な回答をお願いします。質問や既出の回答に対して補足か意見がある場合は、コメントツールをご利用ください。一つの質問に対し複数回の回答はできませんが、自分の回答はいつでも修正が可能です。また、質問/回答の評価にご協力ください!

アップデート通知

このフォーラムについて

このフォーラムはOdooに興味がある方はどなたでも參加いただけます。Odooに関するFAQの参照、質問の投稿が可能です。 ガイドラインを読む

質問ツール

2 フォロワー

統計

質問: 2016/03/16 9:32
参照: 422
最終更新: 2018/03/29 13:53