API 用のジェネリック クラス ベースのビューを作成するために、ここに記載されているチュートリアルに従っていますが、小さな問題が発生しました。ビューの背後にあるモデルを部分的に更新したいと思います。partial
以前は、シリアライザーを作成したときにプロパティを使用してこれを行うことができました。ただし、ジェネリック クラス ベースのビューを使用し始めると、モデルの部分的な更新を許可するかどうかを設定する機能が失われるようです。partial
ModelSerializerのプロパティをオーバーライドするにはどうすればよいですか? 私のコードは非常に単純です:
class DejavuUserDetail(generics.RetrieveUpdateAPIView):
'''
Get a user or update a user
'''
lookup_field = "email"
queryset = DejavuUser.objects.all()
serializer_class = UserSerializer
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = DejavuUser
partial = True
def restore_object(self, attrs, instance=None):
"""
Given a dictionary of deserialized field values, either update
an existing model instance, or create a new model instance.
"""
if instance is not None:
#set the required fields and return the instance
PUT 経由で API にアクセスしようとしています