Setup

In this chapter, you will learn:

  • To set up your local development environment.

  • The outline of the Odoo database structure.

  • To export and import an Odoo database in your local environment.

  • To have an Odoo instance up and running.

Install

There are multiple ways to install Odoo, depending on the intended use case. This documentation assumes you use the source install (running Odoo from the source code), which is best suited for Odoo designers and developers.

Databases

Структура

Every Odoo application works similarly; they are built with the same logic. A model contains fields and relational fields that link to other models. Each model has views representing all its fields, with backend and frontend views.

Моделі

The basis of Odoo is models. Models use fields to record the data. Records are stored in a database: they are therefore linked to a model. In Odoo, you can find the different models in the backend by enabling the developer mode and then going to Settings ‣ Technical ‣ Database Structure: Models.

Models page

Поля

In a model, we will centralize fields (field names we need to target in our code).

Перегляньте також

Поля та віджети

Classic fields
  • Дата

  • Char

  • Вибір

Реляційні поля

Relational fields call a field from another model. They allow you to link models together and make them interact easily. In other words, when you use a relational field, you link a record with another one (located on another model), enabling you to retrieve the content of the fields located on this linked record.

  • Many2one fields are filled in by choosing one record from a list of records on another model (from many records, you select one). For example, the customer field on a quotation makes you choose one customer from a list of several customers on the contact model.

  • One2many fields are reverse searches of existing many2one relations. For example, you could list on a contact all their existing quotations (from one record, you display many).

  • Many2many fields are filled in by choosing one or several records from a list of records on another model. For example, you can put several tags on one product, and several products can use the same tags (from many records, you can select many).

Представлення

Views define how records should be displayed to end-users. They are specified in XML, meaning they can be edited independently from the models they represent. They are flexible and allow deep customization of the screens they control.

Backend vs. Frontend
  • Backend views: Kanban, List, Form, etc.

  • Frontend view: QWeb

Static vs. Dynamic
  • Static pages have stable content, such as the homepage. You can define their URL and set some properties like published, indexed, etc.

  • Dynamic pages are dynamically generated, such as the product page. Their URL is dynamic and is accessible to all by default (this can be changed by configuring access rights).

Standard vs. Inherited
  • Standard views are base views implemented by Odoo. They are directly derived from their model. You should never change them as they allow updating an Odoo database without overwriting a client’s modifications.

  • Inherited views are duplicated views. Modifications always take place in an inherited view. If there is a duplicate view, there will be two views with the same name in the database, but the duplicated view will not have an ID like for standard view.

Import an existing database

Примітка

Ви можете перейти безпосередньо до розділу Theming, якщо вам не потрібно імпортувати існуючу базу даних.

Dump

Odoo SaaS

Перейдіть до <database_url>/saas_worker/dump.

Odoo.sh
  1. Підключіться до Odoo.sh.

  2. Виберіть гілку, резервну копію якої потрібно створити.

  3. Виберіть вкладку РЕЗЕРВНІ КОПІЇ.

  4. Натисніть кнопку Створити резервну копію.

  5. Коли процес завершиться, з’явиться сповіщення. Відкрийте його та натисніть кнопку Перейти до резервної копії.

  6. Натисніть значок Завантажити. Виберіть Тестування у розділі Мета та З файловим сховищем у розділі Сховище файлів.

    Завантажити резервну копію
  7. Ви отримаєте сповіщення, коли дамп буде готовий до завантаження. Відкрийте його та натисніть Завантажити, щоб отримати свій дамп.

    Резервне копіювання бази даних

Переміщення файлового сховища

Скопіюйте всі папки, що містяться в папці сховища файлів, і вставте їх у таке місце на вашому комп’ютері:

  • macOS: /Users/<User>/Library/Application Support/Odoo/filestore/<database_name>

  • Linux: /home/<User>/.local/share/Odoo/filestore/<database_name>

Примітка

/Library — це прихована папка.

Налаштування бази даних

Створіть порожню базу даних.

createdb <database_name>

Імпортуйте SQL-файл у базу даних, яку ви щойно створили.

psql <database_name> < dump.sql

Скиньте пароль адміністратора.

psql \c
<database_name>
update res_users set login='admin', password='admin' where id=2;

За потреби вимкніть параметр політики примусового застосування двофакторної автентифікації.

psql <database-name>
update res_users set totp_secret='' where id=2;

Початок

Запуск Odoo

Після налаштування всіх залежностей Odoo можна запустити, виконавши команду odoo-bin, інтерфейс командного рядка сервера. Він розташований у кореневому каталозі спільноти Odoo.

Для налаштування сервера можна вказати аргументи командного рядка або файл конфігурації. Перший метод представлено нижче.

CLI, створення шаблону теми Odoo, заповнення бази даних або підрахунку кількості рядків коду.

Shell script

Типовий спосіб запустити сервер - це додати всі аргументи командного рядка до скрипта .sh.

Example

./odoo-bin --addons-path=../enterprise,addons --db-filter=<database> -d <database> --without-demo=all -i website --dev=xml

Папка

Опис

--addons-path

Список розділених комами каталогів, у яких зберігаються модулі. Ці каталоги скануються на наявність модулів.

-d

--database

база(и) даних, що використовуються під час встановлення або оновлення модулів.

--db-filter

Приховує бази даних, які не відповідають фільтру.

-i

--init

Список модулів, розділених комами, які потрібно встановити перед запуском сервера. (потрібно -d)

-u

--update

Список модулів, розділених комами, які потрібно оновити перед запуском сервера. (потрібно -d)

--without-demo

Вимикає завантаження демонстраційних даних для встановлених модулів, розділених комами; використовуйте all для всіх модулів. (потрібні -d та -i)

--dev

Список функцій, розділених комами. Тільки для цілей розробки. Додаткова інформація

Увійти

Після запуску сервера (виводиться журнал INFO odoo.modules.loading: Modules loaded.), відкрийте http://localhost:8069 у вашому веббраузері та увійдіть у систему з базовим обліковим записом адміністратора.

Введіть admin для електронної пошти та admin для пароля.

Вітаємо на головній сторінці

Порада

Натисніть CTRL+C, щоб зупинити сервер. Зробіть це двічі, якщо потрібно.

Режим розробника

Режим розробника, також відомий як режим налагодження, корисний для розробки, оскільки він надає доступ до додаткових інструментів. У наступних розділах передбачається, що ви ввімкнули режим розробника.