Skip to content

Commit 0366ceb

Browse files
committed
Add provision for tests
1 parent 5c4cb88 commit 0366ceb

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

example/serializers.py

+6
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,12 @@ class Meta:
260260
def get_first_entry(self, obj):
261261
return obj.entries.first()
262262

263+
class AuthorListSerializer(AuthorSerializer):
264+
pass
265+
266+
class AuthorDetailSerializer(AuthorSerializer):
267+
pass
268+
263269

264270
class WriterSerializer(serializers.ModelSerializer):
265271
included_serializers = {

example/views.py

+12-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
from example.models import Author, Blog, Comment, Company, Entry, Project, ProjectType
1717
from example.serializers import (
1818
AuthorSerializer,
19+
AuthorListSerializer,
20+
AuthorDetailSerializer,
1921
BlogDRFSerializer,
2022
BlogSerializer,
2123
CommentSerializer,
@@ -185,7 +187,16 @@ class NoFiltersetEntryViewSet(EntryViewSet):
185187

186188
class AuthorViewSet(ModelViewSet):
187189
queryset = Author.objects.all()
188-
serializer_class = AuthorSerializer
190+
serializer_classes = {
191+
"list": AuthorListSerializer,
192+
"retrieve": AuthorDetailSerializer}
193+
serializer_class = AuthorSerializer # fallback
194+
195+
def get_serializer_class(self):
196+
try:
197+
return self.serializer_classes.get(self.action, self.serializer_class)
198+
except AttributeError:
199+
return self.serializer_class
189200

190201

191202
class CommentViewSet(ModelViewSet):

0 commit comments

Comments
 (0)