Django重写用户模型报错has no attribute 'USERNAME_FIELD'
Django重写用户模型报错has no attribute 'USERNAME_FIELD'
在重写用户模型时报错:AttributeError: type object ‘UserProfile’ has no attribute ‘USERNAME_FIELD’
models.py
- 新建用户模型UserProfile继承自AbstractBaseUser
# -*- encoding:utf-8 -*-
from __future__ import unicode_literals
from django.db import models
from django.contrib.auth.models import AbstractBaseUser
# Create your models here.
class UserProfile(AbstractBaseUser):
nick_name = models.CharField(max_length=50, verbose_name=u"昵称", default="")
birday = models.DateField(verbose_name=u"生日", null=True, blank=True)
gender = models.CharField(max_length=5, choices=(("male", u"男"),("female",u"女")), default="female")
address = models.CharField(max_length=100, default=u"")
mobile = models.CharField(max_length=11, null=True, blank=True)
image = models.ImageField(upload_to="image/%Y/%m", default=u"image/default.png", max_length=100)
class Meta:
verbose_name = u"用户信息"
verbose_name_plural = verbose_name
def __unicode__(self):
return self.username1234567891011121314151617181920212223
settings.py中也设置了AUTH_USER_MODEL
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'mx_users',
]
AUTH_USER_MODEL = "mx_users.UserProfile"123456789101112
debug时报错:
AttributeError: type object 'UserProfile' has no attribute 'USERNAME_FIELD'1
最后google了一圈才发现解决办法:
答案还是得去官方文档中寻找
https://docs.djangoproject.com/en/1.9/topics/auth/customizing/
在模型中新增两行代码,即可解决
identifier = models.CharField(max_length=40, unique=True)
USERNAME_FIELD = 'identifier'12
如下:
class UserProfile(AbstractBaseUser):
identifier = models.CharField(max_length=40, unique=True)
USERNAME_FIELD = 'identifier'
nick_name = models.CharField(max_length=50, verbose_name=u"昵称", default="")
birday = models.DateField(verbose_name=u"生日", null=True, blank=True)
gender = models.CharField(max_length=5, choices=(("male", u"男"),("female",u"女")), default="female")
address = models.CharField(max_length=100, default=u"")
mobile = models.CharField(max_length=11, null=True, blank=True)
image = models.ImageField(upload_to="image/%Y/%m", default=u"image/default.png", max_length
Django重写用户模型报错has no attribute 'USERNAME_FIELD'的更多相关文章
- Django 重写用户模型
AUTH_USER_MODEL = 'myapp.MyUser' django——重写用户模型 Django内建的User模型可能不适合某些类型的项目.例如,在某些网站上使用邮件地址而不是用户名作为身 ...
- django重写用户模型
重写一个UserProfile继承自带的AbstractUser # -*- coding: utf-8 -*- from __future__ import unicode_literals fro ...
- 重写用户模型时报错AttributeError: type object ‘自定义类’ has no attribute ‘USERNAME_FIELD’
view中导入:from django.contrib.auth.models import AbstractBaseUser settings.py中设置了:AUTH_USER_MODEL='app ...
- django 重写用户模型 AbstractBaseUser
https://blog.csdn.net/weixin_40744265/article/details/80745652
- Django之重写用户模型
django——重写用户模型 Django内建的User模型可能不适合某些类型的项目.例如,在某些网站上使用邮件地址而不是用户名作为身份的标识可能更合理. 1.修改配置文件,覆盖默认的User模型 D ...
- django 学习手册 - ORM 报错集(随时更新)
报错问题: 问题一:(1050代码) django.db.utils.InternalError: (1050, "Table 'app01_group' already exists&qu ...
- Oracle存储过程跨用户执行查询报错
在Oracle中,在USERA下编写一个存储过程,该存储过程中引用了另一个用户USERB下的表或视图对象.编译该存储过程,出现编译错误.报ORA-00942: table or view does n ...
- django框架使用mysql报错,及两种解决方法
1.django框架 settings.py文件中部分代码: DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3' ...
- Jumpserver(跳板机、堡垒机)启动jms Django连接mysql数据库报错
解决办法 根据报错信息 , 去查看官方手册 在settings.py文件夹加入DATABASES['OPTIONS']['init_command'] = "SET sql_mode='ST ...
随机推荐
- python3.8 := and python3.7 dataclass
代码示例 from dataclasses import field,dataclass @dataclass class People: name :str =field(init="张三 ...
- Misc套路记录
1.对于给定的二维码图片不能直接扫描出来的可以进行反色在进行扫描,反色可以直接选中图片然后就会进行反色.2.局域网中抓取的数据包的加密方式可能是aes加密.3.凯撒加密可能是变种的凯撒加密,可能奇数偶 ...
- mybatis延迟加载(Collection)
上篇讲了assocation,同样我们也可以在一对多关系配置的结点中配置延迟加载策略. 结点中也有 select 属性,column 属性. 需求: 完成加载用户对象时,查询该用户所拥有的账户信息. ...
- Docker部署测试
安装虚拟机 准备一台Centos7的VM,名为Centos7-1 具体过程可以参考: KVM安装 KVM——以桥接的方式搭建虚拟机网络配置 安装Docker 下载rpm包:https://downlo ...
- Jenkins Publish FTP远程部署过程
步骤: 1.安装FileZilla FTP Server 2.添加FTP账号: 1.Edit——Users——Add 2.Edit——Users——Shared folders 3.下载FileZil ...
- pycloudtag_wordcloud 中英文标签云
https://study.163.com/course/courseMain.htm?courseId=1006383008&share=2&shareId=400000000398 ...
- Jeecg页面标签规则
1.表单字段重复校验方法 <input name="departname" class="inputxt" value="${depart.de ...
- C++学习 之 初识C++
声明: 本人自学C++, 没有计算机基础,在学习的过程难免会出现理解错误,出现风马牛不相及的现象,甚至有可能会贻笑大方. 如果有幸C++大牛能够扫到本人的博客,诚心希望大牛能给予 ...
- [idea]创建一个控制台程序
新建项目时,选择JBoss即可.
- spring 过滤器- 过滤登陆请求路径(过滤静态资源跳转到登陆页面)
public class LoginedFilter implements Filter { /** * 排除的地址 */ private Map<String, Boolean> ign ...