Решено: 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. Те могат да правят неща като създаване и управление на модели, изгледи и приложения.

Подобни публикации:

Оставете коментар