1.我想用自定义的User类,而不想用默认User类,按照官方文档的demo做了下(https://docs.djangoproject.com/en/1.9/topics/auth/customizing/#auth-custom-user),各种奇怪的问题,找不到属性什么的。
下面是我的demo:
from __future__ import unicode_literals
from django.db import models
from django.contrib.auth.models import AbstractBaseUser
from django.contrib.auth.models import BaseUserManager
# Create your models here.
class UserManager(BaseUserManager):
"""
test custom user manager
"""
def __init__(self):
pass
def create_user(self, username, password=None):
"""
create user
:param username:
:param password:
:return:
"""
if not username:
raise ValueError('User must have an username')
user = self.model(username=username)
user.set_password(password)
user.save(using=self._db)
return user
def create_superuser(self, username, password):
"""
create superuser
:param username:
:param password:
:return:
"""
user = self.create_user(username=username, password=password)
user.is_admin = True
user.save(using=self._db)
return user
class User(AbstractBaseUser):
"""
test custom user model
"""
def __init__(self):
pass
username = models.CharField(max_length=128, unique=True)
# is_admin = models.BooleanField(default=False)
objects = UserManager()
USERNAME_FIELD = "username" #username列
class Meta:
db_table = "testdata_user" #表名
报错就是
AttributeError: 'UserManager' object has no attribute 'name'
有没有在settings.py中加入AUTH_USER_MODEL = 'user.User'这个