查看“操作记录集”的源代码
←
操作记录集
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看并复制此页面的源代码:
我们肯定想要添加、删除或替换这些相关的元素字段,因此这就引出了一个问题:如何对记录集进行操作? 记录集是不可变的,这意味着它们的值不能被直接修改。相反,修改一个现有的记录集意味着根据一个新的记录集创建一个新的记录集。 一种方法是使用受支持的设置操作︰ rs1 | rs2是设置union操作,结果是两个记录集所有的元素。 rs1 + rs2是设置addition操作,结果是两个记录集做为一体的元素,它可能会导致重复记录。 rs1 & rs2是设置intersection的操作,结果只是两个记录集相同的元素。 rs1 – rs2是设置difference的操作,结果是rs1元素不在rs2记录集的元素 也可以使用切片表示法,如这些例子所示︰ rs[0]和rs[-1]分别检索第一个元素和最后一个元素。 rs[1:]结果是拷贝没有第一个元素的记录集。这个生成与rs – rs[0]相同的记录,但它保存原来的顺序。 注意 在Odoo 10中,操纵记录集保存顺序。这是不同于以往Odoo的版本,尽管添加和切片是已知的,操纵记录集不能保证记录的顺序。 我们可以通过使用这些操作来删除或添加更改记录集元素。这里有一些例子︰ self.task_ids |= task1如果不在记录集,则添加task1记录 self.task_ids -= task1如果在记录集中,则删除特定的记录task1 self.task_ids = self.task_ids[:-1]删除最后一条记录 关系字段包含记录集值。多对一的字段可以包含一个单例记录集,并且对多字段包含有任意数量的记录集记录。我们使用一个常规的赋值语句,或者使用create()和write()方法和一个字典的值。在这最后条件,一种特殊的语法用于修改对多字段。它是相同的XML记录为关系字段提供值,在第4章,模块数据,设置相关字段值部份中。 例如,write()语法与前面的三个任务等价的例子是。 作为一个例子,write()相当于三个前面的分配示例中的语法是︰ self.write([(4, task1.id, None)]) 添加task1记录 self.write([(3, task1.id, None)]) 从记录集删除task1 self.write([(3, self.task_ids[-1].id, False)]) 删除最后一条记录
返回至
操作记录集
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
odoo 中文开发手册
odoo 开发参考
odoo 实施笔记
Odoo 最佳方案
关于 OdooV
Odoo FAQ
工具
链入页面
相关更改
特殊页面
页面信息
友情链接
odoo官网
odoo中文网
odoo实施