User.objects.create_superuser
создает пользователя с is_staff=True
и is_superuser=True
. И update_or_create()
сначала проверяет, существует ли какая-либо строка с данными аргументами.
Таким образом, вы можете создать суперпользователя с помощью добавленной вами команды. то есть
echo "from django.contrib.auth import get_user_model; User = get_user_model(); User.objects.create_superuser(email='admin@myproject.com', password='password')" | python manage.py shell
и обновите эту строку следующим образом:
echo "from django.contrib.auth import get_user_model; User = get_user_model(); User.objects.update_or_create(email='admin@myproject.com', is_staff=True, is_superuser=True, defaults={'username': 'abcd'})" | python manage.py shell
Это создаст нового пользователя, если запись с данными не найдена. Далее вы можете прочитать о update_or_create () .