🧩 Viết addon tùy biến
Cách mở rộng Xbook đúng chuẩn là viết một addon riêng, thay vì sửa trực tiếp mã lõi — để dễ nâng cấp và bảo trì.
Cấu trúc tối thiểu
my_module/
├── __init__.py
├── __manifest__.py # khai báo addon
├── models/
│ ├── __init__.py
│ └── my_model.py
├── views/
│ └── my_views.xml
└── security/
└── ir.model.access.csv # phân quyền
__manifest__.py
{
"name": "Tùy biến của tôi",
"version": "1.0.0",
"category": "Customizations",
"depends": ["base", "sale"],
"data": [
"security/ir.model.access.csv",
"views/my_views.xml",
],
"installable": True,
}
Mở rộng model có sẵn
from odoo import models, fields
class SaleOrder(models.Model):
_inherit = "sale.order"
x_ma_kenh = fields.Char(string="Mã kênh bán")
Quy ước
- Đặt tiền tố riêng cho field/model tùy biến (ví dụ
x_) để tránh trùng khi nâng cấp. - Khai báo
dependsđầy đủ các phân hệ mà addon sử dụng. - Tham khảo
addons_template/trong repo làm khung khởi tạo.
mẹo
Cài addon: đặt thư mục vào đường dẫn addons, bật chế độ Developer, rồi Cập nhật danh sách ứng dụng và cài như một ứng dụng bình thường.