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