web2py:如何实现删除限制

web2py: How to implement a ON DELETE RESTRICT

如何在web2py上实现ON DELETE RESTRICT,即如果父记录被一些子记录引用,试图删除,该操作应该被限制或不允许?

我指的是使用关键字 on_delete 的 Field 构造。

您可以将 ondelete 参数设置为您想要的任何值:

db.define_table('mytable',
    Field('myfield', 'reference othertable', ondelete='RESTRICT'),
    ...)

请记住,当尝试禁止删除时,这只会导致数据库驱动程序引发异常,因此您还需要在您的应用程序中使用代码来 (a) 捕获这些异常或 (b) 阻止在尝试之前删除此类内容(并相应地通知用户)。