Django 5 postgres superuser login fail
Я создал Django-проект SQLite. Я решил перейти с SQLite на PostgreSQL. Все миграции прошли успешно. Я успешно создал суперпользователя, но когда я пытаюсь войти в админку, он говорит, что пользователь не может быть найден. Ошибок нет. Вот модель пользователей
from django.db import models
from django.contrib.auth.models import AbstractUser
# Create your models here.
class CustomUser(AbstractUser):
"""
Class for creating custom users. There are 3 user types in this class
"""
USER_TYPE_CHOICES = (
('manager', 'Manager'),
('supervisor', 'Supervisor'),
('employee', 'Employee'),
)
user_type = models.CharField(max_length=20, choices=USER_TYPE_CHOICES)
is_active = models.BooleanField(default=False)
name = models.CharField(max_length=255)
email = models.EmailField(unique=True)
national_id = models.CharField(max_length=20, unique=True)
def __str__(self):
return self.email
# Provide a unique username or remove the unique constraint from email
def save(self, *args, **kwargs):
if not self.username:
self.username = self.name # Use email as username or provide a unique username
super().save(*args, **kwargs)
Я попробовал войти в админку. Он говорит, что пользователь не найден. Я использовал и email, и имя пользователя, чтобы быть уверенным, но пользователь все равно не найден.
Это pip freeze:
pip freeze
asgiref==3.7.2
attrs==23.1.0
bcrypt==4.1.2
Django==5.0
django-cors-headers==4.3.1
django-filter==23.5
djangorestframework==3.14.0
djangorestframework-simplejwt==5.3.1
drf-spectacular==0.27.0
Faker==21.0.0
inflection==0.5.1
jsonschema==4.20.0
jsonschema-specifications==2023.11.2
Markdown==3.5.1
mysqlclient==2.2.3
psycopg2==2.9.9
PyJWT==2.8.0
python-dateutil==2.8.2
pytz==2023.3.post1
PyYAML==6.0.1
referencing==0.32.0
rpds-py==0.15.2
six==1.16.0
sqlparse==0.4.4
typing_extensions==4.9.0
uritemplate==4.1.1
Просмотрев таблицы вручную, я обнаружил, что пользователи по умолчанию неактивны. Поэтому я не мог войти в систему, когда я не активен. После редактирования строки и установки состояния по умолчанию для созданных пользователей в True, воссоздание суперпользователя сработало.