Django-Allauth-如何向注册添加其他API参数

Django-Allauth-如何向注册添加其他API参数,django,django-allauth,django-rest-auth,Django,Django Allauth,Django Rest Auth,我通过Django使用Django,我想扩展注册功能以匹配我的自定义用户对象。鉴于以下用户模型: class Profile(AbstractUser): email = models.EmailField(unique=True) username = models.CharField(max_length=40, unique=True, blank=True) first_name = models.CharField(max_length=40, blank=T

我通过Django使用Django,我想扩展注册功能以匹配我的自定义用户对象。鉴于以下用户模型:

class Profile(AbstractUser):
    email = models.EmailField(unique=True)
    username = models.CharField(max_length=40, unique=True, blank=True)

    first_name = models.CharField(max_length=40, blank=True)
    last_name = models.CharField(max_length=40, blank=True)
如何使allauth通过API调用接收这些参数,然后清除/存储它们。换句话说,我希望能够做的是使用这样的主体调用
/rest auth/registration/
端点

{
  "username": "foo",
  "email": "bar@mail.com",
  "password1": "fooBar!@",
  "password2": "fooBar!@",
  "first_name": "first",
  "last_name": "last"
} 
并将
名字
姓氏
存储为配置文件对象。同样,我希望能够通过API而不是表单来实现这一点


环境详情:

Django==1.11.3
django-allauth==0.33.0
django-environ==0.4.4
django-rest-auth==0.9.1
django-storages==1.6.5
django-taggit==0.22.1
djangorestframework==3.6.4
...

$ python --version
Python 2.7.11

尝试按如下方式覆盖注册序列化程序:

class CustomRegisterSerializer(RegisterSerializer):
    first_name = serializers.CharField(max_length=255)
    last_name = serializers.CharField(max_length=255)

    def get_cleaned_data(self):
        validated_data = super(CustomRegisterSerializer, self).get_cleaned_data()
        validated_data.update({
            'first_name': self.validated_data.get('first_name', ''),
            'last_name': self.validated_data.get('last_name', '')
        })
        return validated_data

然后将此序列化程序添加到您的设置中,因为
注册\u序列化程序
(有关详细信息,请查看文档)

尝试了此操作,但已验证的\u数据不包括已验证的\u数据中的任何新参数。很抱歉,我使用了错误的方法,应该是
更新
,而不是
扩展
。你能再试一次吗?