• odoo 如何设置字段变更跟踪


    且看源码:

        @api.model
        def _get_tracked_fields(self, updated_fields):
            """ Return a structure of tracked fields for the current model.
                :param list updated_fields: modified field names
                :return dict: a dict mapping field name to description, containing on_change fields
            """
            tracked_fields = []
            for name, field in self._fields.items():
                if getattr(field, 'track_visibility', False):
                    tracked_fields.append(name)
    
            if tracked_fields:
                return self.fields_get(tracked_fields)
            return {}
    

    设置的关键字为track_visibility

    源码设置实例:

        type = fields.Selection([
                ('out_invoice','Customer Invoice'),
                ('in_invoice','Vendor Bill'),
                ('out_refund','Customer Credit Note'),
                ('in_refund','Vendor Credit Note'),
            ], readonly=True, states={'draft': [('readonly', False)]}, index=True, change_default=True,
            default=lambda self: self._context.get('type', 'out_invoice'),
            track_visibility='always')
    

    当然模型需要继承 mail 的一系列模型


    懂得,原来世界如此简单!

  • 相关阅读:
    mysql安装脚本
    vim常用命令
    CentOS 6.5使用国内网易163的源
    053(七十五)
    053(七十四)
    053(七十三)
    053(七十二)
    053(七十一)
    053(七十)
    053(六十九)
  • 原文地址:https://www.cnblogs.com/qianxunman/p/14971295.html
Copyright © 2020-2023  润新知