જો સ્થળાંતર પર સુપરયુઝર અસ્તિત્વમાં નથી, તો Django એક બનાવશે.
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>
પ્રથમ લાઇન એક ફંક્શન બનાવે છે જે સુપરયુઝર બનાવશે જો તે પહેલાથી અસ્તિત્વમાં ન હોય.
બીજી લાઇનને 'auth' એપમાંથી યુઝર મોડલ મળે છે.
ત્રીજી લાઇન એ જોવા માટે તપાસે છે કે વપરાશકર્તાનામ 'એડમિન' ધરાવતો વપરાશકર્તા અસ્તિત્વમાં છે કે કેમ. નહી તો,
ચોથી લીટી યુઝરનેમ 'એડમિન', ઈમેલ એડ્રેસ 'admin@example.com' અને પાસવર્ડ 'પાસવર્ડ' સાથે સુપરયુઝર બનાવે છે.
પાંચમી અને છઠ્ઠી લીટીઓ એક સ્થળાંતર વર્ગ બનાવે છે અને સ્પષ્ટ કરે છે કે તે એપ્લિકેશન 'myapp' માં સ્થળાંતર '0001_initial' પર આધારિત છે.
સાતમી લાઇન સ્પષ્ટ કરે છે કે સ્થળાંતર 'create_superuser' ફંક્શન ચલાવવું જોઈએ.
સુપરયુઝર શું છે
સુપરયુઝર એ જેંગો સાઇટ પર વહીવટી વિશેષાધિકારો ધરાવતો વપરાશકર્તા છે. તેઓ મૉડલ, વ્યૂ અને ઍપ્લિકેશન બનાવવા અને મેનેજ કરવા જેવી વસ્તુઓ કરી શકે છે.