间隔期间取数
search()
中order
和limit
结合使用
1 | # 修复当产品出现隔月或者多月未发生业务时,上月结转单价为0,就需追溯到有成本单价的月份进行取值 |
在 to-many 关联字段上设置值
完整的可用命令如下:
- (0, _ , {‘field’: value})新建一条记录并将其与之关联
- (1, id, {‘field’: value})更新已关联记录的值
- (2, id, _)移除关联并删除 id 关联的记录
- (3, id, _)移除关联但不删除 id 关联的记录。通常使用它来删除many-to-many字段的关联记录
- (4, id, _)关联已存在记录,仅适用于many-to-many字段
- (5, _, _)删除所有关联,但不删除关联记录
- (6, _, [ids])替换已关联记录列表为此处的列表
上述下划线_字符代表非关联值,通常填入 0 或 False。
后面的非关联值可以放心地省略掉,如(4, id, _) 可使用(4, id)
上下文(context)
- 服务端查看上下文命令为
self.context_get()
或self.env.context
- 在客户端中,上下文可用于使用
default_
或default_search_
前缀在目录视图上设置默认值或启动默认过滤器。举例如下:- 设置当前用户为
user_id
字段默认值,使用{'default_user_id': uid}
- 在目标视图上默认启动
filter_my_books
过滤器,使用{'default_search_filter_my_tasks': 1}
- 设置当前用户为
多公司(company_id)
- 每个模型在设计时都要加入
company_id
,参考:
1 | company_id = fields.Many2one('res.company', string='公司', required=True, default=lambda self: self.env.user.company_id) |
- 使用
search()
方法时,在搜索条件内也要加入company_id
,参考:
1 | ('company_id','=', self.env.user.company_id.id) |