Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
1 Rispondi
3631 Visualizzazioni

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?

Avatar
Abbandona
Risposta migliore

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:


Avatar
Abbandona
Post correlati Risposte Visualizzazioni Attività
1
lug 21
8523
0
mar 15
3893
2
mar 15
4618
1
mar 15
5248
1
dic 21
2364