Не удается добавить какое-либо поле OneToOneField к AbstracetBaseUser Django
hello я недавно изменил свою модель пользователя на абстрактного базового пользователя и теперь я не могу добавить любой вид модели OneToOneField я получаю две различные ошибки
первая ошибка : vendor.NewUser.created_by: (fields.E300) Поле определяет связь с моделью 'AbstractBaseUser', которая либо не установлена, либо является абстрактной
2: поле app.Vendor.created_by было объявлено с ленивой ссылкой на 'auth.abstractbaseuser', но приложение 'auth' не предоставляет модель 'abstractbaseuser'
2.это мои модели
models.py
from os import name
from django.db import models
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin, BaseUserManager
class CustomAccountManager(BaseUserManager):
def create_superuser(self, email, user_name, first_name, 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(
'Superuser must be assigned to is_staff=True.')
if other_fields.get('is_superuser') is not True:
raise ValueError(
'Superuser must be assigned to is_superuser=True.')
return self.create_user(email, user_name, first_name, password, **other_fields)
def create_user(self, email, user_name, first_name, password, **other_fields):
if not email:
raise ValueError(_('لطفا یک ادرس ایمیل بدهید'))
email = self.normalize_email(email)
user = self.model(email=email, user_name=user_name,
first_name=first_name, **other_fields)
user.set_password(password)
user.save()
return user
def get_profile_image_filepath(self,filename):
return f'uploads/{self.pk}/{"profile.png"}'
def get_default_profile_image():
return "uploads/profiled.png"
class NewUser(AbstractBaseUser, PermissionsMixin):
email = models.CharField(_('ایمیل'),max_length=255 ,unique=True)
user_name= models.CharField(_('نام کاربری'),max_length=255,unique=True)
first_name = models.CharField(_('نام مسکن'),max_length=255 , blank=True)
phone = models.CharField(_('شماره همراه'),max_length=50, blank=True)
تاریخ_ثبت_نام = models.DateTimeField(verbose_name='تاریخ_ثبت_نام', auto_now_add=True)
اخرین_ورود = models.DateTimeField(verbose_name='اخرین_ورود', auto_now=True)
about = models.TextField(_(
'درباره شما'), max_length=500, blank=True)
created_by = models.OneToOneField(AbstractBaseUser, blank=True,related_name="vendor",on_delete=models.CASCADE)
is_staff = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
profile_pic = models.ImageField(_('عکس پروفایل'),max_length=255 ,upload_to=get_profile_image_filepath,null=True ,blank=True, default=get_default_profile_image)
objects = CustomAccountManager()
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['user_name', 'first_name']
def __str__(self):
return self.user_name
def get_profile_image_filenames(self):
return str(self.profile_pic)[str(self.profile_pic).index(f'uploads/{self.pk})/'):]
я также уже добавил 'AUTH_USER_MODEL = "vendor.NewUser" в моем settings.py, но я все еще получаю эту ошибку