【发布时间】:2020-04-29 06:09:11
【问题描述】:
我观察到与One2many 字段相关的表。当我彻底删除One2many 字段的一行One2many 小部件时,表中的实际行不会被删除。
该行刚刚将外键列设置为NULL。
我们可以将此行为更改为永久(硬)删除相关行吗?
为什么设计师首先选择了这种行为?任何技术考虑为什么?
谢谢
【问题讨论】:
标签: python odoo odoo-8 one2many
我观察到与One2many 字段相关的表。当我彻底删除One2many 字段的一行One2many 小部件时,表中的实际行不会被删除。
该行刚刚将外键列设置为NULL。
我们可以将此行为更改为永久(硬)删除相关行吗?
为什么设计师首先选择了这种行为?任何技术考虑为什么?
谢谢
【问题讨论】:
标签: python odoo odoo-8 one2many
在关系字段中,有参数Ondelete。 它有3个选项
我们能否将此行为更改为永久(硬)删除相关行?
要实现这一点,您必须使用 2 个参数声明 M2O。它必须是必需的,并且 ondelete 必须是级联的。 Odoo 示例
class ProductAttribute(models.Model):
_name = "product.attribute"
value_ids = fields.One2many('product.attribute.value', 'attribute_id', 'Values', copy=True)
class ProductAttributeValue(models.Model):
_name = "product.attribute.value"
attribute_id = fields.Many2one('product.attribute', string='Attribute', ondelete='cascade', required=True, index=True)
【讨论】: