我正在使用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
我哪里错了?
答案 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/