整理一下django中用户模块自定义model后登录的一些问题:
网上的报错解决不是万能方案,主要还是要自主分析原因,有的是有用但是导包之类的也要看清楚因为自己修改了所以有所变得,不自定义的话又不太好用。
在项目初期决定使用auth_user后就要设置好,如果在项目中期去改动的话就比较麻烦,需要吧数据库以及历史migrations文件除了__init__外全部删掉,数据库备份后全部删掉,再重新执行才能自定义使用上。migrations路径:
python3.10/site-packages/django/contrib/admin/migrations/000x(此处全删掉)
自定义继承创建model:
因为考虑到登录用邮箱比较好,所以设置了邮箱unique=True
from django.db import models
from django.contrib.auth.models import AbstractUser
from django.db.models.fields import AutoField, BooleanField, EmailField
# Create your models here.
class User(AbstractUser):
username = models.CharField( # username是必需有的字段,字段名不能错
max_length=20,
null=False,
blank=False,
verbose_name='用户名'
)
password = models.CharField(max_length=256,null =