Resolvido: django como criar superusuário se não existir na migração

Se um superusuário não existir na migração, o Django criará um.

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>

A primeira linha cria uma função que criará um superusuário, caso ainda não exista.
A segunda linha obtém o modelo de usuário do aplicativo 'auth'.
A terceira linha verifica se existe um usuário com o nome de usuário 'admin'. Se não,
a quarta linha cria um superusuário com o nome de usuário 'admin', endereço de e-mail 'admin@example.com' e senha 'password'.
A quinta e a sexta linhas criam uma classe de migração e especificam que ela depende da migração '0001_initial' no aplicativo 'myapp'.
A sétima linha especifica que a migração deve executar a função 'create_superuser'.

O que é um superusuário

Um superusuário é um usuário com privilégios administrativos em um site Django. Eles podem fazer coisas como criar e gerenciar modelos, exibições e aplicativos.

Artigos relacionados:

Deixe um comentário