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