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.