Если суперпользователь не существует при миграции, Django создаст его.
I have a migration that creates a superuser if it does not exist. <code>def create_superuser(apps, schema_editor): User = apps.get_model('auth', 'User') if not User.objects.filter(username='admin').exists(): User.objects.create_superuser('admin', 'admin@example.com', 'password') class Migration(migrations.Migration): dependencies = [ ('myapp', '0001_initial'), ] operations = [ migrations.RunPython(create_superuser), ] </code>
Первая строка создает функцию, которая создаст суперпользователя, если он еще не существует.
Вторая строка получает модель пользователя из приложения 'auth'.
Третья строка проверяет, существует ли пользователь с именем «admin». Если не,
четвертая строка создает суперпользователя с именем пользователя «admin», адресом электронной почты «admin@example.com» и паролем «password».
Пятая и шестая строки создают класс миграции и указывают, что он зависит от миграции «0001_initial» в приложении «myapp».
Седьмая строка указывает, что миграция должна запускать функцию create_superuser.
Что такое суперпользователь
Суперпользователь — это пользователь с правами администратора на сайте Django. Они могут делать такие вещи, как создавать и управлять моделями, представлениями и приложениями.