zoukankan      html  css  js  c++  java
  • Django自定义用户模型错误:Manager isn't available; User has been swapped”?

    我扩展了Django用户模型,如dev文档中所描述的那样。我不想保留大多数原始的用户模型特性,所以我扩展了抽象用户类。我在setings.py中定义了:

    AUTH_USER_MODEL = 'user.User'
    

    我的用户类:

    class User(AbstractUser):
      custom_field = models.ForeignKey('OtherModel')
      objects = UserManager()
    

    一切看起来都很好,但是当我试图让它由管理站点管理时:

    admin.site.register(User, UserAdmin)
    

    我在ADMIN CustomUser Creation页面(在验证密码确认表单后)获得此错误:

    AttributeError: Manager isn't available; User has been swapped for 'user.User'
    

    关键是,我需要管理站点管理这个模型,以便与原始用户模型具有相同的创建过程(两个步骤进程,密码验证)。

    分析:因为我们定义抽象模型类,并且在settings中设置了

    # django认证系统使用的模型类
    AUTH_USER_MODEL='user.User'
    

    解决方法(将views中导入模块的方式修改)

    from django.contrib.auth.models import User
    然后将其替换为:
    
    from user.models import MyUser as User
    
  • 相关阅读:
    使用Ant自动化发布web工程
    分页过滤SQL求总条数SQL正则
    Spark-Java版本WordCount示例
    Apache-Tika解析Word文档
    Apache-Tika解析JPEG文档
    Apache-Tika解析HTML文档
    Apache-Tika解析XML文档
    Apache-Tika解析Excell文档
    @RestController注解的使用
    @ResponseBody注解的使用
  • 原文地址:https://www.cnblogs.com/chuwanliu/p/11176809.html
Copyright © 2011-2022 走看看