Çözüldü: Django geçişte mevcut değilse süper kullanıcı nasıl oluşturulur

Geçiş sırasında bir süper kullanıcı yoksa, Django bir tane oluşturacaktır.

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>

İlk satır, zaten yoksa süper kullanıcı oluşturacak bir işlev oluşturur.
İkinci satır, Kullanıcı modelini 'auth' uygulamasından alır.
Üçüncü satır, 'admin' kullanıcı adına sahip bir kullanıcının var olup olmadığını kontrol eder. değilse,
dördüncü satır, 'admin' kullanıcı adına, 'admin@example.com' e-posta adresine ve 'password' parolasına sahip bir süper kullanıcı oluşturur.
Beşinci ve altıncı satırlar bir geçiş sınıfı oluşturur ve bunun "myapp" uygulamasındaki "0001_initial" geçişine bağlı olduğunu belirtir.
Yedinci satır, geçişin 'create_superuser' işlevini çalıştırması gerektiğini belirtir.

Süper kullanıcı nedir

Süper kullanıcı, bir Django sitesinde yönetici ayrıcalıklarına sahip bir kullanıcıdır. Modeller, görünümler ve uygulamalar oluşturmak ve yönetmek gibi şeyler yapabilirler.

İlgili Mesajlar:

Leave a Comment