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. ...
随机推荐
- netty(六) websocket开发应用
package com.lance.net.server.common; import java.net.InetSocketAddress; import org.springframework.s ...
- DRF中的序列化器
DRF中的序列化器详细应用 视图的功能:说白了就是接收前端请求,进行数据处理 (这里的处理包括:如果前端是GET请求,则构造查询集,将结果返回,这个过程为序列化:如果前端是POST请求,假如要对数 ...
- Springboot学习05-自定义错误页面完整分析
Springboot学习06-自定义错误页面完整分析 前言 接着上一篇博客,继续分析Springboot错误页面问题 正文 1-自定义浏览器错误页面(只要将自己的错误页面放在指定的路径下即可) 1-1 ...
- vue 关于父组件无法触发子组件的事件的解决方法
一般情况导致无法触发子组件的方法 基本都是由于子组件未渲染完成 就进行了调用,解决方法如下: 1.加定时器 setTimeout(() => { //加定时器原因是,子组件页面未渲染处理就做 ...
- python爬取网页的通用代码框架
python爬取网页的通用代码框架: def getHTMLText(url):#参数code缺省值为‘utf-8’(编码方式) try: r=requests.get(url,timeout=30) ...
- 使用虚拟机VM12安装REHL7
转载https://blog.csdn.net/qq_19467623/article/details/52869108 转载http://www.07net01.com/2016/03/141198 ...
- Spring MVC 上传和下载文件
上传文件 Commons FileUpload 元件 Servlet 3.0 本地文件上传特性 HTML 5 下载文件
- win7启动时怎么自动进入桌面
1.按Win+R组合键,打开“运行”对话框.(Win是键盘下方左右两边的两个印有微软标志的键) 2.Windows XP/2003/2008/2008R2输入"control userpas ...
- Python_day6
Δ汉诺塔例子 # 定义三个全局的列表 la = [] lb = [] lc = [] stepn = 0 def create_hano(n): '''构建由n个圆盘组成的汉诺塔''' global ...
- drf1 rest & restful规范
web服务交互 我们在浏览器中能看到的每个网站,都是一个web服务.那么我们在提供每个web服务的时候,都需要前后端交互,前后端交互就一定有一些实现方案,我们通常叫web服务交互方案. 目前主流的三种 ...