Пользовательская модель пользователя Django Ошибка , нет такой таблицы
Models.py
class UserManager(BaseUserManager):
def create_user(self, email, password=None):
if not email:
raise ValueError('Users must have an email address')
user = self.model(
email=self.normalize_email(email),
)
user.set_password(password)
user.save(using=self._db)
return user
def create_superuser(self, email, password):
user = self.create_user(
email,
password=password,
)
user.staff = True
user.admin = True
user.save(using=self._db)
return user
class User(AbstractBaseUser):
email = models.EmailField(
verbose_name='email address',
max_length=255,
unique=True,
)
is_active = models.BooleanField(default=True)
staff = models.BooleanField(default=False) # a admin user; non super-user
admin = models.BooleanField(default=False) # a superuser
phone = models.IntegerField()
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = []
def get_full_name(self):
return self.email
def get_short_name(self):
return self.email
def __str__(self):
return self.email
def has_perm(self, perm, obj=None):
return True
def has_module_perms(self, app_label):
return True
@property
def is_staff(self):
return self.staff
@property
def is_admin(self):
return self.admin
objects = UserManager()
Settings.py
AUTH_USER_MODEL = 'Accounts.User'
Ошибка:
return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: Accounts_user
Я создал модель пользователя, но когда я попытался создать суперпользователя, я получил ошибку, что таблица не существует, я пробовал makemigrations и команду migrate несколько раз, но ничего не решает проблему
я не могу открыть таблицу даже в админке, может кто-нибудь помочь мне решить эту проблему
Я попытаюсь дать пару советов:
Убедитесь, что ваша модель находится в приложении
.Accounts
, которое вы создалиПроверьте, зарегистрировано ли приложение
.Accounts
вsettings.py
Небольшая проблема, используя команду по умолчанию
manage.py makemigration
manage.py migrate
не обновил таблицу Accounts App User, поэтому приходится использовать
manage.py makemigration Accounts
manage.py migrate Accounts
Это решает ошибку