Решено: django, как создать суперпользователя, если он не существует при миграции

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

Похожие посты:

Оставьте комментарий