Λύθηκε: django πώς να δημιουργήσετε υπερχρήστη εάν δεν υπάρχει στη μετεγκατάσταση

Εάν δεν υπάρχει υπερχρήστης στη μετεγκατάσταση, το 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». Αν όχι,
Η τέταρτη γραμμή δημιουργεί έναν υπερχρήστη με όνομα χρήστη «admin», διεύθυνση email «admin@example.com» και κωδικό πρόσβασης «password».
Η πέμπτη και η έκτη γραμμή δημιουργούν μια κλάση μετεγκατάστασης και καθορίζουν ότι εξαρτάται από τη μετεγκατάσταση «0001_initial» στην εφαρμογή «myapp».
Η έβδομη γραμμή καθορίζει ότι η μετεγκατάσταση πρέπει να εκτελεί τη συνάρτηση «create_superuser».

Τι είναι ένας Superuser

Ένας υπερχρήστης είναι ένας χρήστης με δικαιώματα διαχειριστή σε έναν ιστότοπο Django. Μπορούν να κάνουν πράγματα όπως τη δημιουργία και τη διαχείριση μοντέλων, προβολών και εφαρμογών.

Σχετικές αναρτήσεις:

Αφήστε ένα σχόλιο