我准备使用django-guardian,直到我在官方文档中遇到以下内容:
不仅可以为每种类型的对象设置权限,还可以为每个特定的对象实例设置权限。通过使用ModelAdmin类提供的has_add_permission(),has_change_permission()和has_delete_permission()方法,可以为同一类型的不同对象实例自定义权限。
这是否意味着更新版本的Django不再需要django-guardian?
请澄清。
答案 0 :(得分:24)
事实上,在阅读文档时,我很高兴Django能够满足开箱即用的“每个对象权限检查”especially in the admin,并且了解如何激活它将是一个时间问题它。
然而,this does not seem to always be the case。
Django undoubtedly strives为这样的实现提供了理由(API),但是这种实现有时需要良好的编码技能和Django理解。
开发人员将creating the app一起使用这些工具来满足其需求。这可能很容易,也可能......不那么容易!
这种矛盾的信息构成了我的网页抓取的基础,它专注于寻找“每个对象权限”问题的解决方案,不知何故......有效地满足了我的项目需求或规模,当然还有我自己的编码技能和Django理解到目前为止。
Django-guardian似乎是用于此目的的最强大,完整,全面的应用程序。
还有其他more lightweight django applications可以满足生产稳定的特定需求。
虽然在这个有点棘手的任务中努力维持生计,但我倾向于使用django-rules来简化并专注于我的需求。