需求来源
在开发项目过程中,如果碰到了需要修改用户表的需求,恰巧我们在项目刚建立时没有用自定义的用户表,这篇文章将介绍如何中途使用自定义的用户表。
原文链接
操作步骤
1. 新建自定义用户app
django-admin startapp users
2. users.models.py代码,新建User类,并继承AbstractUser
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
class Meta:
verbose_name = "用户信息"
verbose_name_plural = verbose_name
db_table = 'auth_user'
def __str__(self):
return self.username
3. setting配置
AUTH_USER_MODEL = 'users.User'
INSTALLED_APPS = [
...
'users',
...
]
4. 迁移数据表,生成初始记录
4.1 python manage.py makemigrations
,生成0001_initial.py
4.2 手动更新数据库。
- INSERT INTO django_migrations (app, name, applied) VALUES ('users', '0001_initial', CURRENT_TIMESTAMP)
;
- UPDATE django_content_type SET app_label = 'users' WHERE app_label = 'auth' and model = 'user'
;
4.3 python manage.py migrate
5. 到这里,在Users模型中即可编辑新字段
正常执行迁移数据操作即可
网友评论