Rozwiązany: django, jak utworzyć superużytkownika, jeśli nie istnieje podczas migracji

Jeśli superużytkownik nie istnieje podczas migracji, Django go utworzy.

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>

Pierwsza linia tworzy funkcję, która utworzy superużytkownika, jeśli taki jeszcze nie istnieje.
Druga linia pobiera model użytkownika z aplikacji „auth”.
Trzecia linia sprawdza, czy istnieje użytkownik o nazwie użytkownika „admin”. Jeśli nie,
czwarty wiersz tworzy superużytkownika z nazwą użytkownika „admin”, adresem e-mail „admin@example.com” i hasłem „hasło”.
Piąty i szósty wiersz tworzą klasę migracji i określają, że zależy ona od migracji „0001_initial” w aplikacji „myapp”.
Siódma linia określa, że ​​migracja powinna uruchomić funkcję „create_superuser”.

Co to jest superużytkownik

Superużytkownik to użytkownik z uprawnieniami administratora na stronie Django. Mogą wykonywać takie czynności, jak tworzenie modeli, widoków i aplikacji oraz zarządzanie nimi.

Powiązane posty:

Zostaw komentarz