管理面板中未调用 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 使用它自己的 saveupdate 方法。所以也必须改变这些方法。傻我。