Odoo での many2one 外部キー制約の Ondelete 処理

odoo ORM の many2one 型フィールドには ondelete 設定があり、データ テーブルのリレーションシップ処理に対応します。

ondelete このレコードの動作を設定できる場合、参照されたレコードが削除されるときに設定します。null、制限、カスケード
などを設定します。

a = fields.Many2one('b', string='b', ondelete='set null')

tax_id = fields.Many2one('account.tax', string='Adjustment Tax', ondelete='restrict', domain=[('type_tax_use', '=', 'none'), ('tax_adjustment', '=', True)], required=True)

例 1: モデル b で削除操作が実行されると、次の操作がトリガーされます。

  • set null: bでレコードが削除された場合、modelAの関連レコードのa=null
  • カスケード: b のレコードを削除すると、modelA の関連レコードもすべて削除されます。
  • 制限:bでレコードを削除する際、modelAに該当するレコードが存在する場合、bの削除は行えません

デフォルトは: null を設定します

おすすめ

転載: blog.csdn.net/iuv_li/article/details/125785303