アプリで部分更新機能を有効にしようとしています。追加のユーザーデータを許可するために、django auth ユーザーモデルを拡張しました。ビューに PATCH リクエストを送信すると (拡張rest_framework.generics.RetrieveUpdateAPIView
)、正しいデータは受信されますが、ネストされたデータは無視されるようです。例:
{'id': 1, 'foo': 'bar', 'baz': 'qux', 'user': {'username': 'user1', 'first_name': 'User', 'last_name': 'One'}}
foo
とbaz
は適切に更新されますが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
部分的な更新が深さをサポートしているかどうか、もしそうなら、私が間違っている可能性があることを誰か教えてもらえますか?