管理面板中未调用 Django 自定义用户管理器
Django Custom User Manager is not called in admin panel
我正在使用 AbstractBaseUser 和 BaseUserManaer 实现自定义用户模型。
class UserManager(BaseUserManager):
def create_user(self,username,password=None):
class User(AbstractBaseUser):
...
objects = UserManager()
当我从终端创建新用户时,它按预期工作,用户正在使用自定义 UserManager 进行注册。但是当使用管理站点时,用户似乎正在使用其他一些用户管理器,而应该使用自定义用户管理器。
users/admin.py
User = get_user_model()
class UserAdmin(BaseUserAdmin):
...
admin.site.register(User, UserAdmin)
终于找到解决办法了。我缺少的是管理站点中的 modelform
使用它自己的 save
和 update
方法。所以也必须改变这些方法。傻我。
我正在使用 AbstractBaseUser 和 BaseUserManaer 实现自定义用户模型。
class UserManager(BaseUserManager):
def create_user(self,username,password=None):
class User(AbstractBaseUser):
...
objects = UserManager()
当我从终端创建新用户时,它按预期工作,用户正在使用自定义 UserManager 进行注册。但是当使用管理站点时,用户似乎正在使用其他一些用户管理器,而应该使用自定义用户管理器。
users/admin.py
User = get_user_model()
class UserAdmin(BaseUserAdmin):
...
admin.site.register(User, UserAdmin)
终于找到解决办法了。我缺少的是管理站点中的 modelform
使用它自己的 save
和 update
方法。所以也必须改变这些方法。傻我。