Django REST Frameworkでリソースとして公開されているモデルがあります。 POST要求が関連エンドポイントで実行されたときにオブジェクトを手動で作成する必要があります。その理由はgenerics.ListCreateAPIView
を使用し、create()
メソッドをオーバーライドします。Django REST Frameworkでデータを検証するタイミングと方法
私はPOSTリクエストのペイロードに与えられたパラメータは、既存の/ etc /よく形成されていることを確認する必要がありますが...
私はこの検証を行わなければならない、そしてそれがどのようにシリアライザと関連している?
関連するシリアライザにvalidate()メソッドを書き込もうとしましたが、POSTリクエストでは呼び出されません。
class ProductOrderList(generics.ListCreateAPIView):
model = ProductOrder
serializer_class = ProductOrderSerializer
queryset = ProductOrder.objects.all()
def create(self, request, *args, **kwargs):
data = request.data
# Some code here to prepare the manual creation of a 'ProductOrder' from the data
# I would like the validation happens here (or even before)
po = ProductOrder.objects.create(...)
class ProductOrderSerializer(serializers.ModelSerializer):
class Meta:
model = ProductOrder
def validate(self, data): # Never called
# Is it the good place to write the validator ??
ありがとうSebastien、それは魅力のように動作します! – matt