DRF-ModelViewSet 根据条件选择序列化
再用django写后台时候,restframework省去了很多事情,在这里记录一下如何根据不同的请求来获取不同的序列化,留给自己以后使用。
查看DRF ModelViewSet的源码,在GenericAPIView中写了获取序列化的方法。
class GenericAPIView(views.APIView):
# ...
def get_serializer_class(self):
"""
Return the class to use for the serializer.
Defaults to using `self.serializer_class`.
You may want to override this if you need to provide different
serializations depending on the incoming request.
(Eg. admins get full serialization, others get basic serialization)
"""<

本文介绍了在使用Django Rest Framework的ModelViewSet时,如何根据不同的请求条件选择不同的序列化方式。通过查看DRF源码,可以重载GenericAPIView中的获取序列化方法,并依赖self.action来判断请求类型,例如create、retrieve、list等,从而实现定制化的序列化。作者提供了一种使用字典映射的实现方式,并欢迎读者分享更好的解决方案。
最低0.47元/天 解锁文章
1087

被折叠的 条评论
为什么被折叠?



