所以,我对Django相当陌生,我知道只有一种User
类型。我想知道对我来说,建立模型的最佳方式是什么。
我的网站需要4种不同类型的用户:管理员(包括超级用户(、教师、学生、家长。我希望只有管理员能够使用内置的管理员界面。我希望老师有一些管理功能,但只在前端UI。
到目前为止,我已经扩展了AbstractBaseUser和BaseUserManager,以创建可以被分配上述4个角色和一些不同角色的用户。他们正在工作,我可以用他们管理页面视图的授权,但这只是我希望做的事情的表面
但是,当我希望老师在一个班上有很多学生,并且只有在这些学生登录时才能看到他们时,我该如何管理呢?我希望这些学生由管理员分配给老师,然后允许老师对学生信息有一些权限。
我可以使用信号来创建一个Teacher
模型吗?该模型属于具有教师的role
的User
,并且相同的Teacher
模型has_many``
学生s. The ``Student
也会立即创建具有student
的role
的User
。
我正在思考如何使用新的User
创建Profile
。
我知道如何将教师、学生和家长等联系起来,但当他们都是用户类型时,我很困惑。
或者,有没有一种方法可以做到这一点,只需将他们作为"用户"与角色联系起来,并以另一种方式将他们联系起来?
谢谢你的帮助。
为什么不试试这个:-
https://simpleisbetterthancomplex.com/tutorial/2018/01/18/how-to-implement-multiple-user-types-with-django.html
我想这就是你正在寻找的答案。
如果你需要进一步的解释,请告诉我。
快乐编码:-(