使用django 1.7,我想将useranme更改为电子邮件登录,我发现django在他们的网页上提供了官方解决方案:https://docs.djangoproject.com/en/1.7/topics/auth/customizing/,但在页面末尾,它说:
admin.site.register(MyUser, MyUserAdmin)
# ... and, since we're not using Django's built-in permissions,
# unregister the Group model from admin.
admin.site.unregister(Group)
如果我仍然需要权限来控制不同组中的不同用户,如果使用django的解决方案会有问题,或者我应该尝试其他方式
答案 0 :(得分:1)
看起来AbstractUser
是AbstractBaseUser
和PermissionsMixin
的子类,它们应该允许用户拥有群组。
您发布的链接中的示例仅包含子类AbstractBaseUser
https://github.com/django/django/blob/master/django/contrib/auth/models.py#L374
我几个月前第一次实现了一个自定义用户(使用电子邮件作为用户名)(在django 1.6上),发现自己不得不像文档那样引用源代码......
答案 1 :(得分:1)
如前所述,只需添加PermissionsMixin
(在django.contrib.auth.models
类中找到)即可分配和管理权限。
我还实现了一个使用该电子邮件作为用户名的自定义用户,并使用PermissionsMixin
- 随意查看。我在Django文档和另一个Google教程的组合的帮助下创建了它 - 但我找不到链接。
https://github.com/ethanperez/t4k-rms/blob/master/riders/models.py