OperationalError в / admin / нет такой таблицы: IEL_user при просмотре admin

У меня есть ошибка, которую я не могу обнаружить, я изучаю Django, вначале я работал с моделью пользователя Django по умолчанию, но затем мне нужна собственная модель пользователя, поэтому я удалил свой db (удаленный файл sqlite db) , создайте новую модель пользователя в models.py, а затем выполните makemigrations, а затем перенесите ее. Но когда я переключился на страницу администратора, у меня возникла ошибка, которую я не могу исправить.

django.db.utils.OperationalError: такой таблицы нет: IEL_user

Файл Models.py

 class user(AbstractUser):

   is_student=models.BooleanField(default=False)
   is_teacher=models.BooleanField(default=False)

Я добавил AUTH_USER_MODEL = 'IEL.user' в settings.py

Ошибки бывают:

      Internal Server Error: /admin/
       Traceback (most recent call last):
     File "C:\Users\Nabeel Ayub\AppData\Local\Programs\Python\Python35- 
     32\lib\site-packages\django\db\backends\utils.py", line 85, in _execute
     return self.cursor.execute(sql, params)
     File "C:\Users\Nabeel Ayub\AppData\Local\Programs\Python\Python35- 
     32\lib\site-packages\django\db\backends\sqlite3\base.py", line 303, in 
     execute
     return Database.Cursor.execute(self, query, params)
    sqlite3.OperationalError: no such table: IEL_user

   The above exception was the direct cause of the following exception:

  Traceback (most recent call last):
  File "C:\Users\Nabeel Ayub\AppData\Local\Programs\Python\Python35- 
  32\lib\site-packages\django\core\handlers\exception.py", line 35, in inner
  response = get_response(request)
   File "C:\Users\Nabeel Ayub\AppData\Local\Programs\Python\Python35- 
  32\lib\site-packages\django\core\handlers\base.py", line 128, in 
  _get_response
 response = self.process_exception_by_middleware(e, request)
 File "C:\Users\Nabeel Ayub\AppData\Local\Programs\Python\Python35- 
 32\lib\site-packages\django\core\handlers\base.py", line 126, in 
 _get_response
 response = wrapped_callback(request, *callback_args, **callback_kwargs)
 File "C:\Users\Nabeel Ayub\AppData\Local\Programs\Python\Python35- 
32\lib\site-packages\django\contrib\admin\sites.py", line 241, in wrapper
return self.admin_view(view, cacheable)(*args, **kwargs)

Включено ли ваше приложение IEL в INSTALLED_APPS? Действительно ли makemigrations создает какие-либо миграции для этого приложения?

Daniel Roseman 07.08.2018 11:04

Да, IEL включен в INSTALLED_APPS, и makemigrations выполнила миграции, когда я редактировал файл m models.py.

Nabeel Ayub 07.08.2018 11:06
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
708
2

Ответы 2

выполните миграцию следующим образом:

python manage.py makemigrations IEI
python manage.py migrate IEI

Понятно, D: \ UCP \ Senior Design Project \ Fyp> python manage.py makemigrations Миграции IEL для 'IEL': IEL \ migrations \ 0001_initial.py - Создать модель пользователя D: \ UCP \ Senior Design Project \ Fyp> python manage .py migrate Выполняемые операции: Применение всех миграций: IEL, admin, auth, contenttypes, sessions, sites. Выполняемые миграции: никаких миграций для применения.

Nabeel Ayub 07.08.2018 11:46

Можете ли вы написать всю ошибку для django.db.utils.OperationalError: такой таблицы нет: IEL_user

Mohammad Ali 07.08.2018 12:46

Сделано под вопросом

Nabeel Ayub 08.08.2018 17:05

Вы можете настроить модель пользователя следующим образом:

class UserManager(BaseUserManager):
    use_in_migrations = True

    def _create_user(self, email, password, **extra_fields):
        """
        Creates and saves a User with the given email and password.
        """
        if not email:
            raise ValueError('The given email must be set')
        email = self.normalize_email(email)
        user = self.model(email=email, **extra_fields)
        user.set_password(password)
        user.save(using=self._db)
        return user

    def create_user(self, email, password=None, **extra_fields):
        extra_fields.setdefault('is_superuser', False)
        return self._create_user(email, password, **extra_fields)

    def create_superuser(self, email, password, **extra_fields):
        extra_fields.setdefault('is_superuser', True)

        if extra_fields.get('is_superuser') is not True:
            raise ValueError('Superuser must have is_superuser=True.')

        return self._create_user(email, password, **extra_fields)
#..................................................................

from __future__ import unicode_literals

from django.db import models
from django.core.mail import send_mail
from django.contrib.auth.models import PermissionsMixin
from django.contrib.auth.base_user import AbstractBaseUser
from django.utils.translation import ugettext_lazy as _

from .managers import UserManager


class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(_('email address'), unique=True)
    first_name = models.CharField(_('first name'), max_length=30, blank=True)
    last_name = models.CharField(_('last name'), max_length=30, blank=True)
    date_joined = models.DateTimeField(_('date joined'), auto_now_add=True)
    is_active = models.BooleanField(_('active'), default=True)
    avatar = models.ImageField(upload_to='avatars/', null=True, blank=True)

    objects = UserManager()

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []

    class Meta:
        verbose_name = _('user')
        verbose_name_plural = _('users')

    def get_full_name(self):
        '''
        Returns the first_name plus the last_name, with a space in between.
        '''
        full_name = '%s %s' % (self.first_name, self.last_name)
        return full_name.strip()

    def get_short_name(self):
        '''
        Returns the short name for the user.
        '''
        return self.first_name

    def email_user(self, subject, message, from_email=None, **kwargs):
        '''
        Sends an email to this User.
        '''
        send_mail(subject, message, from_email, [self.email], **kwargs)

И что важно, добавьте в файл settings.py следующий код:

AUTH_USER_MODEL = 'IEI.User'

Другие вопросы по теме