django 使用框架下auth.models自带的User进行扩展增加字段
需要改动三个地方:
1.models.py 创建模型User,并继承原模型类AbstraUser(在此处我增加了一个新的字段手机号)
from django.db import models # Create your models here. from django.contrib.auth.models import AbstractUser class User(AbstractUser):
tel = models.CharField(max_length=11, unique=False, verbose_name='手机号')
2.settings.py 新增设置如下,‘first_app’为你的app的名字,‘User’为models.py中第1步新创建的类名(也就是新的表名,此处仍使用原来自带的表名)
# 继承原User表设置
AUTH_USER_MODEL = 'first_app.User'
3.此处有一个坑,大多数博客都没写此步骤,如代码中,注释掉的是之前我们使用框架自带的User类时所导入的User,而从当前目录models中导入的User才是我们扩展后使用的User,因为继承后原User已经被替换,此处不改会报错的:
error:Manager isn't available; 'auth.User' has been swapped for 'first_app.User' in Django
# from django.contrib.auth.models import User
from .models import User
django 使用框架下auth.models自带的User进行扩展增加字段的更多相关文章
- Python框架下django 的并发和多线程
django 的并发能力真的是令人担忧,django本身框架下只有一个线程在处理请求,任何一个请求阻塞,就会影响另一个情感求的响应,尤其是涉及到IO操作时,基于框架下开发的视图的响应并没有对应的开启多 ...
- Django是Python下的一款网络服务器框架
被解放的姜戈01 初试天涯 Django是Python下的一款网络服务器框架.Python下有许多款不同的框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django ...
- MySQL在Django框架下的基本操作(MySQL在Linux下配置)
[原]本文根据实际操作主要介绍了Django框架下MySQL的一些常用操作,核心内容如下: ------------------------------------------------------ ...
- Django框架 之 Auth用户认证
Django框架 之 Auth用户认证 浏览目录 auth模块 user对象 一.auth模块 1 from django.contrib import auth django.contrib.aut ...
- Django框架中auth模块的详解
auth模块 auth模块是对登录认证方法的一种封装,本身就是一个对象,可以获取用户的详细信息,有了auth模块可以验证登录信息是否存在数据库中,还可以检验用户是否已经登录,校验密码等 auth方法 ...
- django框架进阶-auth认证系统-长期维护
################## django的认证系统 ####################### 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要 ...
- 第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理
第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理 将一个app下的models数据库表注册到xadmin后台管理 重点 ...
- 00_UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: # <class 'django.contrib.auth.models.Group'> QuerySet.
访问groups时,后端报警告 UnorderedObjectListWarning: Pagination may yield inconsistent results with an unorde ...
- rest_framework框架下的Django声明和生命周期
rest_framework框架下的Django声明和生命周期 Django声明周期(request) 客户端发起请求 请求经过wsgi wsgi: 是一个协议----web服务网关接口,即在web服 ...
随机推荐
- 洛谷P4206 [NOI2005]聪聪与可可(期望dp+最短路)
传送门 首先,猫的走位太飘了……只能预处理…… 先对每一个点跑一遍dijkstra跑出最短路,然后再预处理出$nxt[i][j]$表示当猫在$i$老鼠在$j$时猫下一步会走到哪里 然后考虑dp,设$d ...
- qr.update导致的java.lang.NullPointerException空指针异常
debug以后代码走到了qr.update这一步,再向下走一步就会报错了,内容是java.lang.NullPointerException 最后再三检查发现是SQL语句写错了!,我写的是插入语句是I ...
- vi 和vim中的查找和替换
查找 命令模式输入 : /the-string-you-want-to-lookup 替换 命令模式输入 : s /from/to/
- Six degrees of Kevin Bacon
转自:https://blog.csdn.net/a17865569022/article/details/78766867 Input* Line 1: Two space-separated in ...
- 进击的Python【第十二章】:mysql介绍与简单操作,sqlachemy介绍与简单应用
进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数 ...
- Android网络状态监控
Android 监控网络状态 在Android网络应用程序开发中,经常要判断网络连接是否可用,因此经常有必要监听网络状态的变化.android的网络状态监听可以用BroadcastReceiver来接 ...
- 安装11g 数据库
出现问题解决: 1.首先确认下载的安装包完整性.2解压包的时候,按顺序解压,解压第一个包后,解压第二个包的时候,要把解压地址与解压第二包的地址要一样. 安装的时候,需要把两个压缩包都解压,并将目录wi ...
- sed练习简记
1. 使用多命令选项-e sed -e 'command1' -e 'command2' -e 'command3' 在/etc/passwd文件中搜索root.nobody或mail [root@s ...
- python版本2和3使用range()函数方法
python 2:可以直接使用range(5) 输入的列表结果和预期的一样 python 3:使用range(5) 得到列表结果却是这个,和预期的不一致,其原因是节省空间,防止过大的列表产生 如果想要 ...
- iOS programming Delegation and Text Input
iOS programming Delegation and Text Input 1.1 Text Fields CGRect textFieldRect = CGRectMake(40, ...