Если суперпользователь не существует при миграции, 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. Они могут делать такие вещи, как создавать и управлять моделями, представлениями и приложениями.