首页 > 编程语言 > 详细

python项目_创建自定义用户模型类

时间:2020-06-20 11:28:02      阅读:87      评论:0      收藏:0      [点我收藏+]

1.创建子应用users,并在配置文件中注册子应用users应用

#在创建子应用下的models文件中添加模型

from
django.db import models # Create your models here. from django.contrib.auth.models import AbstractUser class User(AbstractUser): """自定义用户""" mobile = models.CharField(max_length=15, verbose_name="手机号码") avatar = models.ImageField(upload_to="avatar",null=True,blank=True, verbose_name="用户头像") wechat = models.CharField(max_length=50,null=True,blank=True, verbose_name="微信号") class Meta: db_table = "ly_user" verbose_name = "用户信息" verbose_name_plural = verbose_name def __str__(self): return self.username

2.在settings.dev文件中进行设置,(目的是被django认证系统识别)

AUTH_USER_MODEL = users.User
#users 是子应用的名字

3.执行数据迁移

python manage.py makemigrations
python manage.py migrate

4.如果在第一次数据迁移以后,才设置AUTH_USER_MODEL自定义用户模型,则会报错。解决方案如下:

0. 先把现有的数据库导出备份,然后清掉数据库中所有的数据表。
1. 把开发者创建的所有子应用下面的migrations目录下除了__init__.py以外的所有迁移文件,只要涉及到用户的,一律删除
2. 把django.contrib.admin.migrations目录下除了__init__.py以外的所有迁移文件,全部删除。
3. 把django.contrib.auth.migrations目录下除了__init__.py以外的所有迁移文件,全部删除。
4. 把reversion.migrations目录下除了__init__.py以外的所有迁移文件,全部删除。
5. 把xadmin.migrations目录下除了__init__.py以外的所有迁移文件,全部删除。
6. 接下来,执行数据迁移,回顾第0步中的数据,以后如果要修改用户相关数据,不需要重复本次操作,直接数据迁移即可。

 

python项目_创建自定义用户模型类

原文:https://www.cnblogs.com/jalen-123/p/13167899.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!