我正在尝试在django中创建模型,其中有用户,管理员负责多个用户,最后是负责所有用户和管理员的超级管理员。所以我想知道创建这个模型的最佳方法是什么? 我还希望每个用户与django的用户一对一地建立关系。我还需要经理,而超级管理员也有相关的用户。每个人都应该能够记录,这就是为什么我需要每个人都与普通用户相关联。因此,如果管理员或希望以管理员身份更改超级管理员,则只需单击主页面上的按钮即可重定向到管理控制台。也许遗产在这里很有用,但是在Hare实现它们之间的关系后,就像鼻子一样。
答案 0 :(得分:0)
Django的用户权限系统可以自行处理您需要的所有内容。通过添加第三方库,例如django-permissions
或django-authority
(宣传每个对象的权限),您可以非常了解用户控件。
简而言之,当您使用超级用户帐户登录Django管理员时,请转到Authentication and Authorization -> Groups
。从那里,您会看到项目中的每个应用都有添加,修改和删除权限;这些与每个用户的管理员联系在一起。要在项目中使用这些权限或自定义页面权限,您可以使用permissions decorators or functions。您可以添加更多组,自定义组权限,添加页面级权限等。用户可以属于多个组,用户级权限可以覆盖组权限。
虽然有很多需要探索和设置的东西,但它完全属于Django的范畴,并且在没有继承或在用户模型中对这些权限进行硬编码的情况下轻松完成。