Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

316
Visualizações
El nombre 'Grupo' no está definido

Django 1.11

Pitón 3.6.1

Para que mi proyecto se despliegue, tendré que predefinir algunas cosas. Es decir, necesitaré un par de grupos para usuarios.

Entonces, hice una "implementación" de directorio y la coloqué al lado del directorio del proyecto.

Cuando se cree una nueva base de datos, simplemente ejecutaré:

 python manage.py shell < ../deployment/initialize_project.py

Este código funciona:

 from django.contrib.auth.models import Group Group.objects.create(name="commentator") # Can only comment. Group.objects.create(name="contributor") # Can add, change and delete # objects.

Este código no :

 from django.contrib.auth.models import Group def initialize_roles(): Group.objects.create(name="commentator") # line 6 Group.objects.create(name="contributor") initialize_roles() # line 12

Rastrear:

 Traceback (most recent call last): File "manage.py", line 22, in <module> execute_from_command_line(sys.argv) File "/home/michael/workspace/venv/photoarchive/lib/python3.6/site-packages/django/core/management/__init__.py", line 363, in execute_from_command_line utility.execute() File "/home/michael/workspace/venv/photoarchive/lib/python3.6/site-packages/django/core/management/__init__.py", line 355, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/michael/workspace/venv/photoarchive/lib/python3.6/site-packages/django/core/management/base.py", line 283, in run_from_argv self.execute(*args, **cmd_options) File "/home/michael/workspace/venv/photoarchive/lib/python3.6/site-packages/django/core/management/base.py", line 330, in execute output = self.handle(*args, **options) File "/home/michael/workspace/venv/photoarchive/lib/python3.6/site-packages/django/core/management/commands/shell.py", line 101, in handle exec(sys.stdin.read()) File "<string>", line 12, in <module> File "<string>", line 6, in initialize_roles NameError: name 'Group' is not defined

Marqué las líneas 6 y 12 en el código anterior (como comentarios en línea).

Intenté usar pdb.set_trace(), pero aparece el mismo error. Como si pdb no estuviera definido.

También traté de no alimentar a manage.py en initialize_project.py, sino simplemente ejecutar python manage.py shell y alimentar el código línea por línea. Funcionó perfectamente.

¿Podrías darme una patada aquí?

AÑADIDO MÁS TARDE

Esto funciona:

 def initialize_roles(): from django.contrib.auth.models import Group Group.objects.create(name="commentator") # Can only comment. Group.objects.create(name="contributor") # Can add, change and delete # objects. initialize_roles()
about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

A menos que haya algo más en lo que estás haciendo, esto se siente como algo que los accesorios están destinados a resolver. Si hay más, puede agregar migraciones de datos personalizadas como parte del proceso de configuración inicial. Eso evitará tener que preocuparse de cuándo hay modelos disponibles para usted.

about 4 years ago · Santiago Trujillo Relatório

0

Me enfrenté a una situación similar: este comportamiento es extraño, de hecho. Parece que dentro de esta función, faltan todas las importaciones (lo verifiqué con dir() - estaba vacío), pero no sé por qué. Sería genial si alguien pudiera responder eso.

No creo que sea elegante mantener el script desenvuelto por función, y como me enfrentaba a lo mismo, encontré este hilo útil (respuesta de danodonovan): Python Script from Django shell . Lo que sugiere es crear un subdirectorio de commands y agregarle un script (por ejemplo, init_db ). Entonces puedes ejecutar fácilmente:

 ./manage.py init_db

Esto resuelve los problemas indicados en su pregunta, pero no responde por qué sucede. Espero que alguien explique eso.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda