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

441
Visualizações
RuntimeError: __class__ no establecido definiendo 'AbstractBaseUser' como <class 'django.contrib.auth.base_user.Abstract BaseUser'>. Se propagó __classcell__
  1. Recibo este error al intentar migrar bases de datos después de configurar manualmente la base de datos PostgreSQL para el proyecto.
  2. Estaba tratando de ejecutar el proyecto quora clonado bifurcado de github cuando apareció este error.

Siga la descripción completa del error:

 RuntimeError: __class__ not set defining 'AbstractBaseUser' as <class 'django.contrib.auth.base_user.Abstract BaseUser'>. Was __classcell__ propagated to type.__new__?

Sigue el rastro:

 Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "C:\Users\user\Desktop\quora-clone-master\env\lib\site-packages\django\core\management\__init__.py", line 353, in execute_from_command_line utility.execute() File "C:\Users\user\Desktop\quora-clone-master\env\lib\site-packages\django\core\management\__init__.py", line 327, in execute django.setup() File "C:\Users\user\Desktop\quora-clone-master\env\lib\site-packages\django\__init__.py", line 18, in setup apps.populate(settings.INSTALLED_APPS) File "C:\Users\user\Desktop\quora-clone-master\env\lib\site-packages\django\apps\registry.py", line 108, in populate app_config.import_models(all_models) File "C:\Users\user\Desktop\quora-clone-master\env\lib\site-packages\django\apps\config.py", line 202, in import_models self.models_module = import_module(models_module_name) File "C:\Users\user\Desktop\quora-clone-master\env\lib\importlib\__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 671, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 783, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "C:\Users\user\Desktop\quora-clone-master\env\lib\site-packages\django\contrib\auth\models.py", line 4, in <module> from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager File "C:\Users\user\Desktop\quora-clone-master\env\lib\site-packages\django\contrib\auth\base_user.py", line 49, in <module> class AbstractBaseUser(models.Model): RuntimeError: __class__ not set defining 'AbstractBaseUser' as <class 'django.contrib.auth.base_user.AbstractBaseUser'>. Was __classcell__ propagated to type.__new__?
over 4 years ago · Santiago Trujillo
5 Respostas
Responde à pergunta

0

Verifique sus versiones de python y django. Tuve el mismo problema y tuve que instalar un python anterior con via pyenv.

over 4 years ago · Santiago Trujillo Relatório

0

Considere esta línea

 class AbstractBaseUser(models.Model): RuntimeError: __class__ not set defining 'AbstractBaseUser'as<class'django.contrib.auth.base_user.AbstractBaseUser'>. Was __classcell__ propagated to type.__new__?
over 4 years ago · Santiago Trujillo Relatório

0

Este enfoque resolvió mi problema usando django - version 1.9.5 . Por lo tanto, si necesita ejecutar una aplicación antigua de Django con un nuevo python, consulte el siguiente enfoque:

Si está utilizando un entorno virtual, vaya a: venv/lib/Python3.8/site-packages/django/db/models/base.py . Luego, en la class ModelBase(type): model agregue el siguiente código:

(ASEGÚRESE DE AGREGAR SOLO EL CÓDIGO ESPECIFICADO)

 class ModelBase(type): """ Metaclass for all models. """ def __new__(cls, name, bases, attrs): super_new = super(ModelBase, cls).__new__ # Also ensure initialization is only performed for subclasses of Model # (excluding Model class itself). parents = [b for b in bases if isinstance(b, ModelBase)] if not parents: return super_new(cls, name, bases, attrs) # Create the class. module = attrs.pop('__module__') new_class = super_new(cls, name, bases, {'__module__': module}) # <========== THE CODE BELLOW SHOULD BE ADDED ONLY ======>> new_attrs = {'__module__': module} classcell = attrs.pop('__classcell__', None) if classcell is not None: new_attrs['__classcell__'] = classcell new_class = super_new(cls, name, bases, new_attrs) # <========== THE CODE ABOVE SHOULD BE ADDED ONLY ======>> # the rest of the class .....

Ahora, vaya al directorio donde se encuentra el archivo manage.py y migre su aplicación.

Luego, python manage.py run .

Tengo esta respuesta de este sitio web.

over 4 years ago · Santiago Trujillo Relatório

0

Ocurrencia

Al instalar un paquete de python, pipenv (administrador de paquetes) rebajó la versión de django a 1.0.x mientras que mi versión de python en virtual env era 3.8.5 .

Solución

django reinstalado a la última versión 3.2.4 para que coincida con la última versión de python 3.8.5 .

over 4 years ago · Santiago Trujillo Relatório

0

RuntimeError: __class__ not set defining 'AbstractBaseUser' as ... error (era un proyecto heredado de django 1.9) usando virtualenv y vinculándolo a la instalación de Python 3.6:

  1. Instalar virtualenv :

     pip3 install virtualenv
  2. Descargue Python 3.6 antiguo e instálelo con opciones mínimas (solo la casilla de verificación pip y no "Agregar a RUTA" en las opciones) en alguna ruta (usé ese directorio del proyecto django, /my_django_project/python36 por ejemplo).

  3. Cree un entorno virtual, vinculándolo a Python antiguo:

     cd /my_django_project virtualenv --python=./python36/python.exe venv
  4. Activar entorno virtual:

     .\venv\Scripts\activate
  5. Instale el viejo django==1.9 (y otros paquetes cuando sea necesario):

     (venv) pip install django==1.9
  6. Inicie el backend de django en el entorno virtual activado:

     (venv) python manage.py runserver
over 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