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__?Verifique sus versiones de python y django. Tuve el mismo problema y tuve que instalar un python anterior con via pyenv.
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__?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.
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 .
django reinstalado a la última versión 3.2.4 para que coincida con la última versión de python 3.8.5 .
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:
Instalar virtualenv :
pip3 install virtualenv 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).
Cree un entorno virtual, vinculándolo a Python antiguo:
cd /my_django_project virtualenv --python=./python36/python.exe venvActivar entorno virtual:
.\venv\Scripts\activate Instale el viejo django==1.9 (y otros paquetes cuando sea necesario):
(venv) pip install django==1.9Inicie el backend de django en el entorno virtual activado:
(venv) python manage.py runserver