所以我想跟踪大约 100 名员工,但其中只有 5 名应该能够登录到后端(其余的开始时根本没有登录可能性)解决这个问题的最佳方法是什么?
我想到了一个与 abstractBaseUser 具有 1to1 关系的 EmployeeModel ,但这是可行的方法还是有更简单的方法?
〜最大
如果员工有一个附加帐户,为什么不只是从员工到用户的 FK?
为什么不利用Django 1.5 的新可定制User
模型并将每个员工建模为具有扩展配置文件的用户:
在 Django 1.5 中,您现在可以使用自己的模型作为用户相关数据的存储。如果您的项目需要一个超过 30 个字符的用户名,或者您想以名字/姓氏以外的格式存储用户名,或者您想将自定义配置文件信息放到您的用户对象中,您现在可以这样做。
通过使每个员工成为“用户”,您可以在能够控制他们登录(使用is_staff
)的能力以及能够添加您需要的尽可能多的员工个人资料信息之间取得平衡。
不要过度定制,因为这可以使用内置工具轻松实现。使 login_page 需要权限假设说“可以登录”。并让这 5 个用户拥有这些权限。所以rest在尝试登录时会自动得到一个权限被拒绝的响应。