odoo开发笔记 -- 多对多字段追加数据
正常赋值操作:
(以某个模型对象的附件为例)
xx你的模型_model_obj.information_attachment_ids = [(, , attach_ids)]
其中,attach_ids为附件对象id列表。
追加更新操作:
直接追加方式,没有找到;间接实现,每次更新前,去查询附件模型中res_model和res_id;
例如:
for dec_obj_id in xxx.xx你的模型对象_id_list:
= self.env['ir.attachment'].search([('res_model', '=', 'xxx.xx你的模型名'), ('res_id', '=', dec_obj_id)])
attach_ids = []
if len(dec_attach_list_obj) > :
for attach_obj in xx你的模型关联的附件_list_obj:
attach_ids.append(attach_obj.id)
xx你的模型名_model_obj = self.env['xxx.xx你的模型'].search([('id', '=', dec_obj_id)])
if len(attach_ids) > :
xx你的模型名_model_obj.information_attachment_ids = [(, , attach_ids)]
多对多字段其他基本操作:
CREATE = lambda values: (0, False, values) // 例:[(0, 0, new_ids)] 创建
UPDATE = lambda id, values: (1, id, values) // 例:[(1, old_id, new_id)] 更新
DELETE = lambda id: (2, id, False) // 例:[(2, old_id, False)] 删除
FORGET = lambda id: (3, id, False) // 例:[(3, old_id, False)] 断开链接
LINK_TO = lambda id: (4, id, False) // 例:[(4, old_id, False)] 链接
DELETE_ALL = lambda: (5, False, False) // 例:[(5, False, False)] 删除全部
REPLACE_WITH = lambda ids: (6, False, ids) // 例:[(6, False, new_ids)] 替换/更新
odoo开发笔记 -- 多对多字段追加数据的更多相关文章
- odoo开发笔记 -- div标签代替odoo button写法
odoo开发笔记 -- div标签代替odoo button写法 并调用自定义js <footer> <div id="confirm_request_cloud_repo ...
- odoo开发笔记 -- 搜索视图继承扩展
odoo开发笔记 -- 搜索视图继承扩展
- odoo开发笔记 -- 后台日志输出及分析
odoo开发笔记 -- 后台日志输出及分析 附:日志分析软件
- odoo开发笔记 -- 日常开发注意点总结(持续补充)
(1) odoo视图字段,如果是readonly,默认该数据是不会往后台传递的,因此,保存数据的时候,该字段的数据是不会存到数据库中的.(待确认,字段中增加默认值,保存) (2)视图界面,注释的时候, ...
- python开发笔记-通过xml快捷获取数据
今天在做下python开发笔记之如何通过xml快捷获取数据,下面以调取nltk语料库为例: import nltk nltk.download() showing info https://raw.g ...
- odoo开发笔记 -- many2one搜索更多增加默认过滤条件
没加过滤条件的时候,效果如下,点击下拉框,搜索更多出现所有模型下的模板: 改进方法(增加默认过滤条件,显示指定模型下的内容): class IrCloudReport(models.Model): _ ...
- odoo开发笔记--前端搜索视图--按照时间条件筛选
odoo在日常使用中,常会有这样的需要,比如,某个列表按照 日 .周.月.年来过滤搜索. 效果: 那么如何实现呢,如下是一段不同写法的样例代码,提供参考. <!--某模型 搜索视图--> ...
- odoo开发笔记--字段追踪,消息通知机制
odoo有着强大的消息记录.通知机制: 实际开发中,常常会有客户的需求,页面上form视图中的某些字段不允许反复修改, 假如有的用户修改了,恶意搞坏,往往容易给公司利益造成损失,或破坏,那么如何有效的 ...
- odoo开发笔记--日期or时间字段给定默认值
开发中经常有这样的场景,需要给某个日期或者时间的字段默认值: 例如: 日期,默认今天 时间,默认当前时间 可以在odoo模型定义中进行设置, 如下样例提供参考: test_data = fields. ...
随机推荐
- java十进制转换成二进制数
牢记这些呀,特别常用! 1.十进制转成二进制 String s = Integer.toBinaryString(n) //将十进制数转成字符串,例如n=5 ,s = "101" ...
- Linux LVM扩容和缩容
将原硬盘上的LVM分区/dev/mapper/RHEL-Data由原来的60G扩展到80G Step1:将LVData扩容+20G,如下图: [root@esc data]# lvextend -L ...
- linux后台运行命令:&和nohup
常用后台运行命令包含:&和nohup 一.& 使用 当在前台运行某个作业时,终端被该作业占据:可以在命令后面加上& 实现后台运行.例如:sh test.sh & 适合在 ...
- 关于react的一些东西
Facebook 官方推出Create-React-App脚手架,基本可以零配置搭建基于webpack的React开发环境,内置了热更新等功能. 使用的原因以及特性: 无需配置:集成了对 React, ...
- Percentage&Last zero&Convert from char to float
Percentage g_rate = wg_header-rate. condense g_rate. SHIFT g_rate RIGHT DELETING TRAILING '0'. REPLA ...
- 可视化-echarts流向图制作
案例: http://www.internetke.com/jsEffects/2018040406/ 前段时间用echarts做了流程图,在此记录下制作步骤. 一.Echarts是什么 Echart ...
- vue修改端口号
vue修改端口号 默认端口号 修改端口号 重新启动项目 npm run dev
- Node.js 中使用 ES6 中的 import / export 的方法大全
https://blog.csdn.net/universsky2015/article/details/83754741
- mybatis-plus 自动生成代码
public class MpGenerator { /** * <p> * MySQL 生成演示 * </p> */ public static void main(Stri ...
- MYSQL库,表,记录的基本操作
数据库操作 1.显示数据库 show databases; 默认数据库: mysql - 用户权限相关数据 test - 用于用户测试数据 information_schema - MySQL本身架构 ...