title: Django REST Framework custom permission causes JSON Parse error
body: <p>I have the following classes:</p>
  
  <pre><code>class SimpleArtistTrackSerializer(serializers.HyperlinkedModelSerializer):
      class Meta:
          model = ArtistTrack
          fields = (...fields...)
  
  
  class ArtistProfileSerializer(serializers.HyperlinkedModelSerializer):
      tracks = SimpleArtistTrackSerializer(many=True, required=False)
  
      class Meta:
          model = ArtistProfile
          fields = (..fields...)
  
      def create(self, validated_data):
          user = get_user_or_explode(self.context)
          profile = ArtistProfile.objects.create(**validated_data)
          profile.owners.add(user)
  
  
  class IsAnOwnerOrReadOnly(permissions.BasePermission):
      def has_object_permission(self, request, view, obj):
          return True
  
  
  class ArtistProfileViewSet(viewsets.ModelViewSet):
      queryset = ArtistProfile.objects.all()
      serializer_class = ArtistProfileSerializer
      permission_classes = [IsAnOwnerOrReadOnly]
  </code></pre>
  
  <p>Just by adding this permission class, all my requests now return a Parse error:</p>
  
  <pre><code>{"detail":"JSON parse error - Extra data: line 1 column 19 (char 18)"}
  </code></pre>
  
  <p>Debugging shows that the object permission method is running. Using a standard DRF IsAuthenticated permission does not cause this error, and removing the permission_classes gets rid of this error. For some reason, using the custom BasePermission seems to be causing.</p>
  
  <p>Am I missing something? How can I debug this better to find the problem?</p>