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. ...
随机推荐
- 回忆Partition算法及利用Partition进行快排
一.Partiton算法 Partiton算法的主要内容就是随机选出一个数,将这个数作为中间数,将大于它的排在它右边,小于的排在左边(无序的). int partition (int arr[],in ...
- js监控鼠标滚动事件
//滚动动画 windowAddMouseWheel(); function windowAddMouseWheel() { var scrollFunc = function (e) { e = e ...
- c#: WebBrowser控件html代码注入及交互
主题仍是下载相关. 页面加载完成后,注入html元素,以使能够与主程序交互.并使WebBrowser与js交互,可以实现一些有趣的功能. 欲使WebBrowser与js交互,其所在页面类,须加上[Co ...
- (转)css3实现load效果
本文转自:https://www.cnblogs.com/jr1993/p/4625628.html 谢谢作者 注:gif图片动画有些卡顿,非实际效果! 第一种效果: 代码如下: <div cl ...
- 281. Zigzag Iterator z字型遍历
[抄题]: Given two 1d vectors, implement an iterator to return their elements alternately. Example: Inp ...
- 源码安装 odoo12 -- 问题记录
odoo12启动过程中遇到的问题,及解决办法:1.ImportError: No module named ‘win32service’pipenv install pypiwin32 2.Impor ...
- saltstack 使用salt ‘*’ test.ping 报错Minion did not return(转)
原文地址:http://blog.51cto.com/4634721/2093019 saltstack 使用salt ‘*’ test.ping 报错Minion did not return. [ ...
- [Selenium] 在Chrome的开发者工具中验证检查XPath/CSS selectors
Evaluate and validate XPath/CSS selectors in Chrome Developer Tools Method 1 : From Elements panel U ...
- Java:内部接口
1.什么是内部接口 内部接口也称为嵌套接口,即在一个接口内部定义另一个接口.举个例子,Entry接口定义在Map接口里面,如下代码: public interface Map { interface ...
- Django连接Oracle数据库配置
Django项目中,settings.py文件中: service_name DATABASES = { 'default': { 'ENGINE': 'django.db.backends.orac ...