我正在开发一个 Django 应用程序,它是某个 Oracle 数据库的 Web 前端,而另一个本地数据库则保存着应用程序的数据,例如 Guardian 权限。问题是它可以从我无法控制的不同地方进行修改。
假设我们有 3 个模型User
:Thesis
和UserThesis
。
UserThesis
Thesis
- 指定和User
(User
共同作者Thesis
)之间关系的表格
设想:
User
通过其他应用程序删除表中的Thesis
条目,将其作为作者删除。UserThesis
User
尝试Thesis
使用我们的 Django 应用程序进行修改。他成功了,因为 Guardian 和 Django 不知道UserThesis
.
我想到了一些解决方案:
让一些 cron 作业
UserThesis
通过检查条目的修改日期来查找更改。易于检查添加,删除将需要再次查看所有关系。修改 Oracle DB 模式以添加 Guardian DB 表并在
UserThesis
表上创建触发器。我不想这样做,因为 Oracle DB 在许多不同的应用程序之间共享。手动检查视图和模板中的关系(Oracle 上的负载较重)。
哪一个是最好的?还有其他想法吗?