首页 > 解决方案 > Django 不使用自定义用户模型创建超级用户

问题描述

我创建了一个自定义用户模型,如问题所示。这里唯一的区别是我没有自定义后端身份验证。

我在创建用户模型后进行了迁移。

manage.py createsuperuser不在数据库中创建超级用户。我使用注册表单创建了另一个用户。用户可以毫无问题地登录和注销。所以我is_superuser在db中手动更改为True,我可以从管理页面登录。

我在这里做错了什么?从注册创建用户并更改为超级用户并使用它是否安全?

我正在使用 django 1.11.13。

标签: djangodjango-modelsdjango-1.11

解决方案


我还没有足够的声誉来发表评论,因此是答案。

如果没有自定义模型和管理器的代码,就很难确定错误。

但我怀疑您的自定义用户模型缺少正确的管理器。

我建议您查看 auth 模块中的 Django 用户和 UserManager 的实现,以了解这是如何完成的。


推荐阅读