Vì sao Odoo của bạn chậm, ngốn RAM, hay treo? Câu trả lời nằm ở mấy dòng trong odoo.conf
Giải mã các tham số quan trọng nhất của odoo.conf: workers, giới hạn RAM/thời gian, dbfilter, proxy_mode, log. Kèm file cấu hình thật đọc từ máy chủ Odoo 19.
Là một lập trình viên yêu công nghệ, thích viết blog để chia sẻ kiến thức, kinh nghiệm lập trình và những điều thú vị trong thế giới tech.
Giải mã các tham số quan trọng nhất của odoo.conf: workers, giới hạn RAM/thời gian, dbfilter, proxy_mode, log. Kèm file cấu hình thật đọc từ máy chủ Odoo 19.
Cài Odoo từ source, tách venv, viết odoo.conf và bật chế độ dev — nền tảng của mọi lập trình viên Odoo. Có cấu hình thật và kiểm chứng trên máy chủ Odoo 19.
One2many/Many2many không gán trực tiếp mà dùng Command: create, update, delete, unlink, link, clear, set. Bảy lệnh và khi nào dùng. Có tất cả Command chạy thật trên module quan_ca_phe.
@api.onchange phản ứng ngay khi người dùng nhập trên form: tự điền ô khác, hiện cảnh báo. Nhưng nó không lưu, không chặn, không chạy từ API. Có onchange tự viết chạy thật trên module quan_ca_phe.
env là môi trường ORM: cr (con trỏ CSDL), uid/user (người dùng), context (ngôn ngữ, múi giờ), company (công ty). Mọi recordset mang theo env. Có giá trị env thật chụp từ odoo shell db blog19.
Đôi khi ORM không đủ và bạn phải viết SQL tay. cr.execute rất mạnh nhưng nối chuỗi input vào là mở toang cửa cho SQL injection. Hiểu tham số hoá %s, đối tượng SQL của Odoo 19, và cặp flush/invalidate — qua ví dụ injection thật.