Django的rest / login登录后返回错误的用户模型字段

时间:2019-10-25 19:06:19

标签: django django-models django-rest-framework

我使用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)

0 个答案:

没有答案