一  生成hypermedialink(极少数)

组件

class BooksSerializer(serializers.ModelSerializer):
    name = serializers.CharField()

    class Meta:
        model = models.Book
        fields = '__all__'
        # 生成链接,直接查看出版社详情
        publish = serializers.HyperlinkedIdentityField(view_name='ttt', lookup_field='publish_id',
                                                       lookup_url_kwarg='pk')
        authors = serializers.SerializerMethodField()

        def get_authors(self, obj):
            ret = obj.authors.all()
            ss = AuthorSerializer(ret, many=True)
            return ss.data

view

class Books(APIView):
    def get(self, request, *args, **kwargs):
        ret = models.Book.objects.all()
        book_ser = BooksSerializer(ret, many=True,context={'request': request})
        # 注意: 要在有返回链接的函数中要加 context={'request': request}
        print(book_ser)
        return JsonResponse(book_ser.data, safe=False)

 

url

  url(r'^publish/(?P<pk>\d+)$', views.Publish.as_view(), name='ttt'),

返回到前端的数据

序列化组件之生成hypermedialink

 

相关文章:

  • 2021-07-15
  • 2021-11-03
  • 2021-12-21
  • 2021-05-27
  • 2021-06-04
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-24
  • 2021-06-01
  • 2022-02-28
  • 2022-12-23
相关资源
相似解决方案