1

アプリで部分更新機能を有効にしようとしています。追加のユーザーデータを許可するために、django auth ユーザーモデルを拡張しました。ビューに PATCH リクエストを送信すると (拡張rest_framework.generics.RetrieveUpdateAPIView)、正しいデータは受信されますが、ネストされたデータは無視されるようです。例:

{'id': 1, 'foo': 'bar', 'baz': 'qux', 'user': {'username': 'user1', 'first_name': 'User', 'last_name': 'One'}}

foobazは適切に更新されますがusername、 、first_name、およびlast_nameはすべて無視されます。

class UserProfileSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ('id', 'username', 'first_name', 'last_name')


class UsersSerializer(serializers.ModelSerializer):
    user = UserProfileSerializer(many=False, read_only=False, partial=True)

    class Meta:
        model = Users
        fields = ('id', 'foo', 'baz', 'yin', 'yang', 'user')
        depth = 1


class UserProfileGenericAPIView(generics.GenericAPIView):
    serializer_class = UsersSerializer
    queryset = Users.objects.all()

    def pre_save(self, obj):
        pass


class UserProfileView(UserinfoGenericAPIView, generics.RetrieveUpdateAPIView):
    pass

部分的な更新が深さをサポートしているかどうか、もしそうなら、私が間違っている可能性があることを誰か教えてもらえますか?

4

1 に答える 1