限制,没有行动&在字段的ondelete可选参数中设置默认值

时间:2013-06-11 05:53:04

标签: openerp

我正在学习有关 ondelete 参数字段的可选参数。 这些是预定义的值:“cascade”,“set null”,“restrict”,“no action”,“set default”

任何人都可以详细解释

  • RESTRICT和NO ACTION之间的区别。
  • OpenERP 7中如何使用SET DEFAULT?
    • 在哪里设置字段的默认值?
    • 如何在python代码本身中定义set default value?

1 个答案:

答案 0 :(得分:9)

Course为例Student。在Student s上是Course的外键。 ondelete确定删除student_idCourse列(Student)上发生的情况。

  • CASCADE:删除Course时删除匹配student_id的{​​{1}}记录

  • 限制:只要与Student相关,就无法删除Student

  • 无操作:类似,但是是延迟检查:您可以删除Course,但必须确保在提交交易时完整性正常。

  • SET DEFAULT:使用openerp默认定义(参见python模型定义中的Student dict)

  • SET NULL:当_defaults被删除时,Student在数据库中变为student_id

在Python中,您可以在NULL defintion中找到这些:

_columns