title: DRF: Non-Model serializer doesn't work with Non-Model Class
body: <p>I am using djangorestframework==3.3.2 with Python 2.7.11+</p>
  
  <p>I have data in json that represent instances of this class:</p>
  
  <pre><code>class APITransaction(object):
  
      def __init__(self, created_on):  #several_other_attrs
          self.created_on = parser.parse(created_on)  # this is Never called
          # ... several other fields
  
      @staticmethod
      def create(attributes_json):
          return APITransaction(attributes_json.get('createdOn'), ... )
  </code></pre>
  
  <p>The serializer:</p>
  
  <pre><code>class MySerializer(serializers.Serializer):
      created_on = serializers.DateTimeField()
      # ... more fields here
  
      class Meta:
          ordering = ['-created_on']
  
      def create(self, validated_data):
          return APITransaction.create(**validated_data)   # why isn't this called?
  
      def update(self, instance, validated_data):
          raise NotImplemented
  </code></pre>
  
  <p>Now I am trying to use that serializer from:</p>
  
  <pre><code>class TransactionView(viewsets.ViewSet):
      serializer_class = MySerializer   # probably useless
  
      def list(self, request):
           # ...
           serializer = MySerializer(list_of_json, many=True)
           return Response(serializer.data)
  </code></pre>
  
  <p>where <code>list_of_json</code> is a list of json representing <code>APITransaction</code> class. </p>
  
  <p>Unfortunately I am getting a <code>'unicode' object has no attribute 'isoformat'</code> error caused by the fact that the <code>APITransaction.create</code> is never called thus the <code>parser.parse</code> inside <code>APITransaction.__init__</code> is never used to cast the string.</p>
  
  <p>I know this is not the correct way to user Serializers, but DRF docs don't mention anything about what you should do when you have non-ORM classes.</p>
  
  <p>Any Ideas on how I could use the Serializer? When I have only one instance, I am able to explicitly build <code>APITransaction</code> object and then pass it on <code>MySerializer</code>, but when I have multiple inside json, isn't an automatic way of doing that?</p>