Vyriešené: django ako vytvoriť superužívateľa, ak pri migrácii neexistuje

Ak pri migrácii neexistuje superužívateľ, Django ho vytvorí.

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>

Prvý riadok vytvorí funkciu, ktorá vytvorí superužívateľa, ak ešte neexistuje.
Druhý riadok získa model používateľa z aplikácie „autorizácia“.
Tretí riadok kontroluje, či existuje používateľ s používateľským menom 'admin'. Ak nie,
štvrtý riadok vytvorí superužívateľa s užívateľským menom „admin“, e-mailovou adresou „admin@example.com“ a heslom „password“.
Piaty a šiesty riadok vytvára triedu migrácie a určuje, že závisí od migrácie „0001_initial“ v aplikácii „myapp“.
Siedmy riadok určuje, že migrácia by mala spustiť funkciu 'create_superuser'.

Čo je Superuser

Superuser je používateľ s administrátorskými oprávneniami na stránke Django. Môžu robiť veci ako vytvárať a spravovať modely, zobrazenia a aplikácie.

Súvisiace príspevky:

Pridať komentár