aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/generics.py
diff options
context:
space:
mode:
authorTom Christie2012-09-28 14:28:50 +0100
committerTom Christie2012-09-28 14:28:50 +0100
commite003cc91b627a64b6d4d364f9de936ed1bec03e1 (patch)
tree5b61186429755372e9e117f16aa8edef8553d764 /rest_framework/generics.py
parent84f775803994ccd82671dd4a6f9b4d87aa36dc31 (diff)
downloaddjango-rest-framework-e003cc91b627a64b6d4d364f9de936ed1bec03e1.tar.bz2
Get test-only models properly working
Diffstat (limited to 'rest_framework/generics.py')
-rw-r--r--rest_framework/generics.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/rest_framework/generics.py b/rest_framework/generics.py
index f70c6f19..4240e33e 100644
--- a/rest_framework/generics.py
+++ b/rest_framework/generics.py
@@ -2,7 +2,7 @@
Generic views that provide commmonly needed behaviour.
"""
-from rest_framework import views, mixins
+from rest_framework import views, mixins, serializers
from django.views.generic.detail import SingleObjectMixin
from django.views.generic.list import MultipleObjectMixin
@@ -18,11 +18,19 @@ class BaseView(views.APIView):
def get_serializer(self, data=None, files=None, instance=None):
# TODO: add support for files
# TODO: add support for seperate serializer/deserializer
+ serializer_class = self.serializer_class
+
+ if serializer_class is None:
+ class DefaultSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = self.model
+ serializer_class = DefaultSerializer
+
context = {
'request': self.request,
'format': self.kwargs.get('format', None)
}
- return self.serializer_class(data, instance=instance, context=context)
+ return serializer_class(data, instance=instance, context=context)
class MultipleObjectBaseView(MultipleObjectMixin, BaseView):