Ako superkorisnik ne postoji na migraciji, Django će ga kreirati.
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>
Prvi red kreira funkciju koja će kreirati superkorisnika ako već ne postoji.
Drugi red dobija model korisnika iz 'auth' aplikacije.
Treći red provjerava da li postoji korisnik s korisničkim imenom 'admin'. Ako ne,
četvrti red kreira superkorisnika sa korisničkim imenom 'admin', adresom e-pošte 'admin@example.com' i lozinkom 'password'.
Peti i šesti red kreiraju klasu migracije i specificiraju da ona ovisi o migraciji '0001_initial' u aplikaciji 'myapp'.
Sedmi red specificira da bi migracija trebala pokrenuti funkciju 'create_superuser'.
Šta je superkorisnik
Superkorisnik je korisnik sa administrativnim privilegijama na Django sajtu. Oni mogu raditi stvari poput kreiranja i upravljanja modelima, pogledima i aplikacijama.