title: When and how to validate data with Django REST Framework
body: <p>I have a model which is exposed as a resource with Django REST Framework.
  I need to manually create the objects when a POST requests is performed on the related endpoints, that why I use a <code>generics.ListCreateAPIView</code> and override the <code>create()</code> method.</p>
  
  <p>However I need to check that the parameters given in the payload of the POST request are well-formed/existing/etc...</p>
  
  <p>Where shall I perform this validation, and how is it related with the Serializer? </p>
  
  <p>I tried to write a validate() method in the related Serializer, but it is never called on POST requests.</p>
  
  <pre><code>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 ??
  </code></pre>