我正在设计一个Django应用程序(v1.6),需要对用户执行以下几个操作:
- 添加自定义字段,例如用户部门的外键
- 在某些字段更改时触发数据库更改。例如,当用户的部门更改时,我需要将另一个模型中的库存从旧部门移到新部门。我计划使用pre_save接收器来完成这个操作。
- 定义自定义权限,例如用户只能修改与其部门相关联的表中的行。
- 最终,我想将该应用程序与我们的Active Directory服务器集成以进行身份验证。
我查看了文档中的选项,并且看到有几个选项,从使用一对一关系扩展用户模型到编写自定义用户模型。
为实现以上所有目标,我应该使用哪种设计?