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.