Hi,
Still learning the ins and outs of Django REST framework and was faced with the following problem which I didn't found an answer to in the documentation.
I have model Post that represents generic social media post and I'm trying to create two different kinds of JSON representations to it. One which has more nested information and one which more simplistic and lightweight.
The problem is that both of those get the same URL in Api Root navigation listing. All relevant information can be found underneath.
Am I missing something obvious? Is there a generally better way to achieve same results?
I'd be very happy if you could point me to right direction.
Api Root navigation gives two serializers the same URL
from urls.py
router = routers.DefaultRouter()
router.register(r'feed', views.FeedViewSet)
router.register(r'post', views.PostViewSet)
from views.py
class FeedViewSet(viewsets.ModelViewSet):
queryset = Post.objects.all()
serializer_class = FeedSerializer
class PostViewSet(viewsets.ModelViewSet):
queryset = Post.objects.all()
serializer_class = PostSerializer
from serializers.py
class FeedSerializer(serializers.ModelSerializer):
comments = CommentWithAuthorDetailsSerializer(many=True, read_only=True)
author = AuthorSerializer(read_only=True)
class Meta:
model = Post
fields = ('author', 'message', 'number_of_likes', 'date', 'comments')
class PostSerializer(serializers.ModelSerializer):
comments = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
class Meta:
model = Post
fields = ('author', 'message', 'number_of_likes', 'date', 'comments')