diff --git a/filme/apps.py b/filme/apps.py index 4eca0bd..abdcad4 100644 --- a/filme/apps.py +++ b/filme/apps.py @@ -1,18 +1,9 @@ from django.apps import AppConfig +# Importe o arquivo signals.py +from . import signals + class FilmeConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'filme' - - def ready(self): - from .models import Usuario - import os - - email = os.getenv("EMAIL_ADMIN") - senha = os.getenv("SENHA_ADMIN") - - usuarios = Usuario.objects.filter(email=email) - if not usuarios: - Usuario.objects.create_superuser( - username="admin", email=email, password=senha, is_active=True, is_staff=True) diff --git a/filme/signals.py b/filme/signals.py new file mode 100644 index 0000000..7ba831c --- /dev/null +++ b/filme/signals.py @@ -0,0 +1,16 @@ +from django.db.models.signals import post_migrate +from django.dispatch import receiver +from .models import Usuario +import os + + +@receiver(post_migrate) +def create_superuser(sender, **kwargs): + if sender.name == 'filme': + email = os.getenv("EMAIL_ADMIN") + senha = os.getenv("SENHA_ADMIN") + + usuarios = Usuario.objects.filter(email=email) + if not usuarios: + Usuario.objects.create_superuser( + username=email, email=email, password=senha, is_active=True, is_staff=True, is_superuser=True)