我使用AbstractUser类创建了一个自定义用户模型,该模型运行良好。要登录用户,我正在使用rest_auth软件包。使用url / auth / login时,我能够登录用户,但登录后获取的json包含first_name和last_name字段,这不包含在我的自定义用户模型中
我分析了父类,发现rest_auth包中的serializer.py文件返回了通过authenticate方法验证凭据的用户模型。我不明白身份验证方法的工作原理
型号:
document.querySelector('#wmd-input').value = 'content';
序列化器:
textarea
我得到的登录结果之后是这样的:
from django.db import models
from django.contrib.auth.models import AbstractUser
from django.utils.translation import ugettext_lazy as _
class User(AbstractUser):
username = models.CharField(unique=True,max_length=30)
email = models.EmailField(_('email address'), unique=True)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username']
def __str__(self):
return self.email
class UserProfile(models.Model):
user=models.OneToOneField(User,on_delete=models.CASCADE,related_name='profile')
photo=models.ImageField(upload_to='uploads',blank=True,null=True)
city=models.CharField(max_length=50,blank=True,null=True)
dob=models.DateField(blank=True,null=True)
firstname=models.CharField(max_length=50,blank=True,null=True)
lastname=models.CharField(max_length=50,blank=True,null=True)