我正在开发一个Django应用程序,作为某个Oracle数据库的Web前端,与另一个本地数据库保持应用程序的数据(如Guardian权限)。问题是它可以从我不能控制的不同地方进行修改。在共享(非独占)访问数据库上的Django-guardian
比方说,我们有3个型号:User
,Thesis
和UserThesis
。
UserThesis
- 表Thesis
和User
之间指定关系(User
是的Thesis
合着者)
场景:
User
由UserThesis
表中删除条目除去的Thesis
作者由其他应用程序。User
尝试使用我们的Django应用修改Thesis
。并且他成功了,因为Guardian和Django不知道UserThesis
中的更改。
我想到了一些解决方案:
有一些cron作业的外观通过检查条目的修改日期
UserThesis
变化。易于检查添加,清除需要再次查看所有关系。修改Oracle数据库架构以添加Guardian DB表并在
UserThesis
表中创建触发器。我不想这样做,因为Oracle数据库被不同应用程序的数量共享。手动检查视图和模板中的关系(较重的Oracle负载)。
哪一个是最好的?任何其他想法?