Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
3532 Lượt xem

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?

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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:


Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 7 21
8455
0
thg 3 15
3857
2
thg 3 15
4566
1
thg 3 15
5154
1
thg 12 21
2275