Я хочу, чтобы в моем приложении Django было 2 типа пользователей, поэтому я следовал этому уроку и выполнил
python manage.py makemigrations web
python manage.py migrate
(«web» - это название моего приложения )
Теперь я хочу получить доступ к admin
части сайта, автоматически добавляемой django в localhost:PORT/admin
. Когда я пытаюсь получить доступ к этой странице, эта ошибка показывает:
django.db.utils.OperationalError: no such table: web_user
Вот мой models.py
:
from django.contrib.auth.models import AbstractUser
from django.db import models
from web import constants
class User(AbstractUser):
USER_TYPE_CHOICES = (
(constants.USER_TYPE_CLEANER, 'cleaner'),
(constants.USER_TYPE_CONTRACTOR, 'contractor'),
)
user_type = models.PositiveSmallIntegerField(choices=USER_TYPE_CHOICES)
# extra fields
email = models.CharField(max_length=100)
phone_number = models.CharField(max_length=15)
date_of_birth = models.DateField('date_of_birth')
address = models.CharField(max_length=50)
city = models.CharField(max_length=25)
state = models.CharField(max_length=25)
и установите его в settings.py
:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'web.apps.WebConfig',
]
# Authentication
AUTH_USER_MODEL = 'web.User'
Как включить администраторский сайт django? Это очень полезно для создания демонстрационных данных.