DAL не предоставляет API для указания ON UPDATE CASCADE
при создании таблицы, поэтому вам придется делать это извне. В качестве альтернативы вы можете использовать _after_update
hook для обновления записей в любых дочерних таблицах.
Также подумайте, хотите ли вы установить внешний ключ для адреса электронной почты, а не использовать встроенную функцию поля reference
, которая создает внешний ключ в поле id
родительской таблицы. Поскольку id
данной пользовательской записи никогда не изменится, вам не нужно беспокоиться о каскадных обновлениях:
db.define_table('comments',
...,
Field('author', 'reference auth_user'))
Выше 'reference auth_user'
устанавливает внешний ключ для поля db.auth_user.id
.