Django删除超级用户

Que*_*lan 37 python django

这可能是重复的,但我无法在任何地方找到问题,所以我会继续问:

是否有一种从终端删除超级用户的简单方法,可能类似于Django的createsuperuser命令?

Tim*_*ony 64

没有内置命令,但您可以从shell轻松执行此操作:

> python manage.py shell
$ from django.contrib.auth.models import User
$ User.objects.get(username="joebloggs", is_superuser=True).delete()
Run Code Online (Sandbox Code Playgroud)

  • 在Django 1.11中,看起来这仍然是准确的,除了第一行应该是`python manage.py shell`. (6认同)
  • 听起来像一个愚蠢的问题,但为什么!没有内置命令吗? (3认同)
  • 这不是一个愚蠢的问题,如果您找到答案,请告诉我 (2认同)

lho*_*ert 7

对于自定义用户模型,它将是:

python manage.py shell  
Run Code Online (Sandbox Code Playgroud)
from django.contrib.auth import get_user_model
model = get_user_model()
model.objects.get(username="superjoe", is_superuser=True).delete()
Run Code Online (Sandbox Code Playgroud)