Вирішено: 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. Вони можуть створювати та керувати моделями, переглядами та програмами.

Схожі повідомлення:

Залишити коментар