Odoo 17/09/2026 4 phút

Cái hộp thoại 'cộng điểm hàng loạt' trong Odoo thật ra là một model — chỉ khác là dữ liệu tự bốc hơi sau 1 giờ

Mọi wizard trong Odoo đứng trên một TransientModel: model có bảng thật nhưng bản ghi tự dọn định kỳ. Tự tay dựng một wizard cộng điểm cho module cà phê và chạy thử, để hiểu vòng đời và cách nạp dữ liệu từ active_ids.

Odoo 17/09/2026 4 phút

Hộp thoại 'cộng điểm hàng loạt' cần một model để chứa dữ liệu người dùng gõ — nhưng lưu vĩnh viễn thì phí, nên Odoo có TransientModel

Wizard trong Odoo là một TransientModel: bản ghi tạm cho hộp thoại nhập liệu, tự dọn định kỳ, không để rác trong CSDL. Hiểu default_get lấy bản ghi được chọn và method đóng dialog. Xem một wizard cộng điểm chạy thật trên Odoo 19.

Odoo 17/09/2026 4 phút

Wizard 'chọn rồi xác nhận' hai màn hình mà vẫn là một hộp thoại: bí quyết là một field state và cái mẹo cho method mở lại chính nó

Wizard nhiều bước trong Odoo dùng một field state để ẩn/hiện từng nhóm và đổi nút; method đổi state rồi trả về action mở lại chính wizard (cùng res_id) nên dữ liệu vẫn còn. Xem hai bước Chọn và Xác nhận chạy thật trên Odoo 19.

Odoo 17/09/2026 4 phút

Wizard chạy xong đừng chỉ đóng lại bỏ mặc người dùng — cho method trả về một action để đưa họ thẳng tới danh sách kết quả

Method của wizard trả được bất kỳ action nào, không chỉ act_window_close. Trả act_window để mở danh sách bản ghi vừa xử lý, một form, hay act_url/report. Xem wizard cộng điểm dẫn thẳng tới danh sách thẻ vừa cập nhật trên Odoo 19.