odoo report track 报表中找到追踪字段
时间:2022-08-10
本文章向大家介绍odoo report track 报表中找到追踪字段,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
re=self.env['********'].search([('name','=','*******')])
re.message_ids.tracking_value_ids.mapped('new_value_char') 追踪字段新值
re.message_ids.tracking_value_ids.mapped('old_value_char') 追踪字段旧值
re.message_ids.author_id.mapped('name') 改变追踪字段的用户
re.message_ids.mapped('date') 改变追踪字段的时间
以上为shell测试,odoo,需要自己写report了。
在扩展的'mail.thread'中。具体相关代码如下
class MailThread(models.AbstractModel): message_ids = fields.One2many( 'mail.message', 'res_id', string='Messages', domain=lambda self: [('message_type', '!=', 'user_notification')], auto_join=True) class Message(models.Model):
tracking_value_ids = fields.One2many( 'mail.tracking.value', 'mail_message_id', string='Tracking values', groups="base.group_system", help='Tracked values are stored in a separate model. This field allow to reconstruct ' 'the tracking and to generate statistics on the model.') class MailTracking(models.Model): _name = 'mail.tracking.value' _description = 'Mail Tracking Value' _rec_name = 'field' _order = 'tracking_sequence asc' field = fields.Many2one('ir.model.fields', required=True, readonly=1, ondelete='cascade') field_desc = fields.Char('Field Description', required=True, readonly=1) field_type = fields.Char('Field Type') field_groups = fields.Char(compute='_compute_field_groups') old_value_integer = fields.Integer('Old Value Integer', readonly=1) old_value_float = fields.Float('Old Value Float', readonly=1) old_value_monetary = fields.Float('Old Value Monetary', readonly=1) old_value_char = fields.Char('Old Value Char', readonly=1) old_value_text = fields.Text('Old Value Text', readonly=1) old_value_datetime = fields.Datetime('Old Value DateTime', readonly=1) new_value_integer = fields.Integer('New Value Integer', readonly=1) new_value_float = fields.Float('New Value Float', readonly=1) new_value_monetary = fields.Float('New Value Monetary', readonly=1) new_value_char = fields.Char('New Value Char', readonly=1) new_value_text = fields.Text('New Value Text', readonly=1) new_value_datetime = fields.Datetime('New Value Datetime', readonly=1)
原文地址:https://www.cnblogs.com/jackadam/p/16573502.html
- sql server实现自定义分割月功能
- jdbc基础 (三) 大文本、二进制数据处理
- 如何修改自增列值以及相应的解决方法
- linux下安装openssh-server
- jdbc基础 (二) 通过properties配置文件连接数据库
- SQL Server 存储过程的几种常见写法分析
- servlet请求转发、包含以及重定向
- servlet设置缓存时间以及文件的下载
- 用python做科学计算之pandas入门简介
- Servlet响应的中文字符集问题
- jdbc基础 (五) 连接池与数据源 DBCP以及C3P0的使用
- JDBC
- ASP.NET Core 性能对比评测(ASP.NET,Python,Java,NodeJS)
- LOJ#6280. 数列分块入门 4
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Git入门学习到进阶2
- Git入门学习到进阶1
- 编程世界/前端技术/BootStrap/BootStrap插件组件使用总结
- Vim编辑器基础入门
- GitLab安装与基础使用
- apt命令使用一览表
- Hexo博客框架初识入门到进阶.md
- dubbo SPI 主要配置技术解读
- 三维城市建模之开发视角,10万场景资源+用户样例
- 3分钟短文:Laravel应用跟用户打交道,就从拿到他们的数据开始!
- leetcode之字符串压缩
- Android如何获取屏幕、状态栏及标题栏的高度详解
- Android中FloatingActionButton的显示与隐藏示例
- Android 中RecyclerView顶部刷新实现详解
- Android开发实现图片平移、缩放、倒影及旋转功能的方法