我正在开发一个Django应用程序,它是一些Oracle数据库的Web前端,另一个本地数据库保存应用程序的数据,如监护人权限。问题是它可以从我无法控制的不同地方修改。在
假设我们有3个模型:User
,Thesis
和{
UserThesis
-指定Thesis
和{User
是{
场景:
其他应用程序通过删除UserThesis
表中的条目,将User
作为Thesis
的作者删除。
User
试图使用我们的Django应用程序修改Thesis
。他成功了,因为卫报和詹戈不知道UserThesis
的变化。
我想了一些解决办法:
让一些cron作业通过检查条目的修改日期来查找UserThesis
中的更改。易于检查添加,删除将需要再次查看所有关系。
修改Oracle数据库架构以添加Guardian DB表并在UserThesis
表上创建触发器。我不想这样做,因为oracledb在许多不同的应用程序之间共享。
手动检查视图和模板中的关系(Oracle的负载更重)。
哪一个最好?还有别的主意吗?在
我决定手动检查权限,尽可能地缓存它。最后,我得到了get_perms_from_cache(self,user)模型方法,这对我很有帮助。在
相关问题 更多 >
编程相关推荐