Django Rest没有创建扩展的UserProfile

时间:2015-03-16 09:32:38

标签: python django rest django-rest-auth

我正在使用Django Rest Framework,我创建了一个扩展的UserProfile模型,如下所示:

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    #Some Fields for UserProfile

    def user_profile_url(self):
        return reverse('user_profile', args=(self.user.id, "{}-{}".format(self.user.first_name, self.user.last_name)))

User.profile = property(lambda u: UserProfile.objects.get_or_create(user=u)[0])

但是,在使用rest_auth的{​​{1}}端点http://django-rest-auth.readthedocs.org/en/latest/api_endpoints.html#registration注册时,即使创建了/registration,也不会创建UserProfile。在我的User中,我为注册

的用户完成了以下操作
serializers.py

我哪里错了?

1 个答案:

答案 0 :(得分:0)

因为请求在此处https://github.com/Tivix/django-rest-auth/blob/master/rest_auth/registration/views.py#L38并且实际上没有调用serializer.create()。

尝试按照文档中的建议覆盖注册表单:

ACCOUNT_FORMS = {
   'signup': 'path.to.custom.SignupForm'
}

个人资料表单的示例: https://djangosnippets.org/snippets/2081/