0

私は 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ただし、の/registrationエンドポイントを使用してサインアップすると: http://django-rest-auth.readthedocs.org/en/latest/api_endpoints.html#registrationが作成されても、UserProfile は作成されませんUser。私のserializers.pyでは、サインアップするユーザーに対して次のことを行いました

class UserSignUpSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ('email',)

    def create(self, validated_data):
        user = User(email=validated_data['email'], username=validated_data['email'])
        user.set_password(validated_data['password'])
        user.save()
        profile = UserProfile(user=user)
        profile.save()
        return user

どこが間違っていますか?

4

1 に答える 1