Зовнішні ідентифікатори в Odoo

Працюючи та/або програмуючи в Odoo ви часто зустрічаєтесь з поняттям "Зовнішній ID". Наприклад, при експорті або імпорті даних. В програмуванні - ще частіше: в описах представлень, прав доступу і таке інше. Що ж собою являють чи магічні "Зовнішні ідентифікатори". Насправді це записи в моделі ir.model.data, які посилаються абсолютно на всі сутності, які є в системі. Побачити їх з інтерфейсу можна в розділі "Налаштування"


Розглянемо структуру Зовнішнього ідентифікатора


1 - Повий ідентифікатор (складається з назви модуля та унікального строкового значення)

2 - Модуль, в якому ідентифікатор створений (для створених автоматично значення модулю буде __export__ )

3 - Унікальне строкове значення (тут можуть бути лише літери, цифри і символ підкреслення, наявність крапки привиде до помилки, бо крапкою відділяється назва модуля)

4 - Відображення об'єкту

5 - Назва моделі (так, як вона називається в python)

6 - ID об'єкту в моделі

7 - Посилання на об'єкт (Обчислювальне поле)

Як використовуються при створенні модулів


У створенні та наслідуванні представлень, дій, меню тощо


Заповнені даних


У python коді для отримання, зміни або використання в генерації представлень, дій, звітів тощо


Зовнішні ідентифікатори моделей

Тут важливо зауважити, що моделі в Odoo - це також записи в базі даних. Тобто усі моделі, які створюються python кодом все одно створюють запис в моделі ir.model (власне, можна створити запис в  ir.model і отримаємо нову таблицю в базі, яку можна використовувати так само як інші).

Розглянемо на прикладі моделі res.partner



Ця модель об'явлена у модулі base, а згенерований Зовнішній ідентифікатор виглядає:

- Префікс model_

- Назва моделі, де крапки замінені на символ підкреслення

Перейдемо на запис


Як бачимо запис з ID 79 має якраз посилання на модель res.partner


1 - зовнішній ідентифікатор прав запису

2 - зовнішній ідентифікатор моделі (як описано вище)

3 - зовнішній ідентифікатор групи

А сам файл має назву  ir.model.access.csv - ця назва файлу вказує, що данні цього файлу мають буди записані в модель ir.model.access





Зовнішні ідентифікатори в Odoo
Володимир Карабанов 21 березня 2022 р.
Поділитися цією публікацією
Теги
Архів
Управління правами доступу в Odoo