Django: (fields.E300) Поле определяет связь с моделью 'Class', которая либо не установлена, либо является абстрактной

Class model is a foreign key in File model Я понятия не имею, что вызывает вышеуказанную ошибку, я искал ее и в основном она возникает при работе с моделями в разных приложениях, но это не случай в данной ситуации, поскольку обе модели находятся в одном models.py файле.

models.py


from asyncio.windows_events import NULL
from http.cookiejar import FileCookieJar
from django.db import  models
from django.utils import timezone
from django.contrib.auth.models import AbstractBaseUser,PermissionsMixin, BaseUserManager
class Class (models.Model):
    name=models.CharField(max_length=256);
    def __str__(self):
        return self.name;

class File (models.Model):
    file=models.FileField();
    name=models.CharField(max_length=255);  
    class_name=models.ForeignKey(Class,on_delete=models.CASCADE)
    def __str__(self):
        return self.name;

class Class (models.Model):
    name=models.CharField(max_length=256);
    def __str__(self):
        return self.name;

class CustomUserManager(BaseUserManager,):
        def create_superuser(self,email,name,surname,password,**other_fields):
                other_fields.setdefault('is_staff',True)
                other_fields.setdefault('is_superuser',True)
                other_fields.setdefault('is_active',True)
                if other_fields.get('is_staff') is not True:
                    raise ValueError('super  user must be assigned to is_staff= True')
                if other_fields.get('is_superuser') is not True:
                    raise ValueError('Super user must be assigned to is_super_user=True')
                return self.create_user(email,name,surname, password,**other_fields)   


        def create_user(self,email,name,surname,password,**other_fields):
         if not email:
          raise ValueError(('You must provide an email address'))
         email=self.normalize_email(email); #for example ignore the case sensitivity
         user=self.model(email=email,name=name,surname=surname,**other_fields)
         user.set_password(password)
         user.save()
         return user;

     
class NewUser(AbstractBaseUser,PermissionsMixin):
        email=models.EmailField(max_length=255,unique=True,default=NULL,)
        name=models.CharField(max_length=255)
        surname=models.CharField(max_length=255)
        is_staff=models.BooleanField(default=False)
        is_active=models.BooleanField(default=True) 
        is_teacher=models.BooleanField(default=False)
        classes=models.ManyToManyField(Class)
        objects=CustomUserManager();
        USERNAME_FIELD='email'
        REQUIRED_FIELDS=['name','surname','is_teacher']

        def __str__(self) :
            return self.name





class Request(models.Model):
    requested_class=models.ForeignKey(Class,on_delete=models.CASCADE)
    requesting_student=models.ForeignKey(NewUser,on_delete=models.CASCADE)  

    def __str__(self):
        return self.requesting_student.name


# Create your models here.

Вернуться на верх