code: def to_utc_datetime(self, value):
          
          if isinstance(value, (six.integer_types, float, six.string_types)):
              value = self.to_naive_datetime(value)
  
          if isinstance(value, datetime.datetime):
              if timezone.is_naive(value):
                  value = timezone.make_aware(value, timezone.utc)
              else:
                  value = timezone.localtime(value, timezone.utc)
              return value
  
          raise exceptions.ValidationError(
              "Unable to convert value: '%s' to python data type" % value,
              code="invalid_datetime"
          )
docs: from value to datetime with tzinfo format (datetime.datetime instance)