Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # serializers.py
- class PostHyperLink(serializers.HyperlinkedRelatedField):
- view_name = 'post-detail'
- queryset = Post.objects.all()
- def get_url(self, obj, view_name, request, format):
- url_kwargs = {
- 'user_id': obj.owner.pk,
- 'post_id': obj.pk
- }
- return reverse(view_name, kwargs=url_kwargs, request=request, format=format)
- def get_object(self, view_name, view_args, view_kwargs):
- lookup_kwargs = {
- 'user_id': view_kwargs['user_id'],
- 'pk': view_kwargs['post_id']
- }
- return self.get_queryset().get(**lookup_kwargs)
- class PostListSerializer(serializers.ModelSerializer):
- post_url = PostHyperLink()
- class Meta:
- model = Post
- fields = ['title', 'post_url']
- # views.py
- class PostListAPIView(generics.ListAPIView):
- queryset = User.objects.all()
- serializer_class = PostListSerializer
- def get_queryset(self):
- user_id = self.kwargs['user_id']
- return Post.objects.filter(owner=user_id)
Advertisement
Add Comment
Please, Sign In to add comment