Trong quản trị phần mềm, ghi lại sự thay đổi của dữ liệu là một phần rất quan trọng. Nó đóng vai trò quan trọng trong việc khôi phục dữ liệu sau khi có sự cố, hoặc trong việc điều tra các vấn đề xảy ra khi có thay đổi dữ liệu không thường. Ghi lại lịch sử thay đổi dữ liệu cho phép chúng ta xác định nguyên nhân, thời điểm xảy ra thay đổi và ai đã thực hiện các thao tác đó.
Trong hệ thống Odoo, có tính năng đặc biệt gọi là Odoo Tracking, cho phép theo dõi lịch sử thay đổi của một trường dữ liệu cụ thể. Hôm nay, chúng tôi sẽ giới thiệu tính năng thú vị này trong Odoo.
Bật tính năng tracking cho 1 model trên Odoo
Để model field có thể sử dụng được tính năng lưu lịch sử tracking chúng ta tạo model cần inherit 2 model là: mail.thread, mail.activity.mixin
from odoo import api, fields, models, _ class MyFamily(models.Model): _name = 'my.family' _description = 'My Family' _inherit = ['mail.thread', 'mail.activity.mixin']
Tạo 1 field với thuộc tính tracking trên Odoo
Bạn hãy set thuộc tính tracking=[True|False] khi bạn định nghĩa field đó. Nếu không không set tham số này thì mặc định nó là False
name = fields.Char("Name", required=True, tracking=True)
Hiển thị lịch sử thay đổi trên view của Odoo
Bước cuối cùng chúng ta hãy đặt đoạn code trên vào khu vực muốn hiển thị lịch sử thay đổi
<sheet> <!--your form view fields goes here--> </sheet> <div class="oe_chatter"> <field name="message_follower_ids" groups="base.group_user"/> <field name="activity_ids"/> <field name="message_ids"/> </div>