我创建了一个 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)
我尝试登录管理员。它说找不到该用户。我使用了电子邮件和用户名来确定,但仍然找不到用户。
这是点冻结:
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
手动查看表格后,我发现用户默认处于非活动状态。所以当我不活跃时我无法登录。