コンテンツへスキップ
メニュー
この質問にフラグが付けられました
1 返信
3722 ビュー

I have an Odoo database containing tables which were created using a separate application interacting with the same database.

I know I could run SQL SELECT queries directly in Odoo to read the data, but I'm wondering if there's a way to just have the ORM read the table in a "read-only" way.

I'm already aware that you can set `_auto` to `False` on the model and override the `init()` method to disable Odoo's automatic management of the table, but I've only seen this used to have Odoo read data from a view. How would I use it to have Odoo read data from a regular table, but not write or delete?

アバター
破棄
最善の回答

I just tried this and quickly tested basic functionality (sort, filter, group by, export).


Note: "id" is required for Odoo to retrieve data, so as long as your table(s) have that field [I didn't test column aliases], you should be good with this approach:


Given this table:

CREATE TABLE films (id integer, code char(5), title varchar(40));
INSERT INTO films (id, code, title) VALUES (1,'LF232','Return of the Jedi');


You can create this class / model:




Then, with appropriate permissions (read access) and UI elements (Window Action, Menu, View), you would see:


アバター
破棄
関連投稿 返信 ビュー 活動
1
7月 21
8581
0
3月 15
3992
2
3月 15
4660
1
3月 15
5277
1
12月 21
2417