Решено: дјанго како креирати суперкорисника ако не постоји при миграцији

Ако суперкорисник не постоји на миграцији, Дјанго ће га креирати.

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>

Први ред креира функцију која ће креирати суперкорисника ако већ не постоји.
Други ред добија модел корисника из апликације 'аутх'.
Трећи ред проверава да ли постоји корисник са корисничким именом 'админ'. Ако не,
четврти ред креира суперкорисника са корисничким именом 'админ', адресом е-поште 'админ@екампле.цом' и лозинком 'пассворд'.
Пети и шести ред креирају класу миграције и наводе да она зависи од миграције '0001_инитиал' у апликацији 'миапп'.
Седми ред наводи да миграција треба да покрене функцију 'цреате_суперусер'.

Шта је суперкорисник

Суперкорисник је корисник са административним привилегијама на Дјанго сајту. Они могу да раде ствари као што су креирање и управљање моделима, погледима и апликацијама.

Релатед постс:

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