2

API 用のジェネリック クラス ベースのビューを作成するために、ここに記載されているチュートリアルに従っていますが、小さな問題が発生しました。ビューの背後にあるモデルを部分的に更新したいと思います。partial以前は、シリアライザーを作成したときにプロパティを使用してこれを行うことができました。ただし、ジェネリック クラス ベースのビューを使用し始めると、モデルの部分的な更新を許可するかどうかを設定する機能が失われるようです。partialModelSerializerのプロパティをオーバーライドするにはどうすればよいですか? 私のコードは非常に単純です:

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 にアクセスしようとしています

4

1 に答える 1