其他分享
首页 > 其他分享> > django rest framework ModelViewSet动态传入queryset和serializer_class

django rest framework ModelViewSet动态传入queryset和serializer_class

作者:互联网

需求背景:
当继承ModelViewSet,视图层的类定义好之后,router.register注册类即可实现模型的增删改查,
但有些业务逻辑需要根据前端传入参数动态改变 querysetserializer_class, 其原因是model层将部分空值字段拆分为几个相似的表结构,而为了前端方便将相似的API接口整合为一个接口,通过传入不同类型请求。

实现方式
重写 get_queryset()方法和 get_serializer_class()方法
在这里插入图片描述
如创建,更新和删除方法也需要动态调整:
则重写 perform_create()、perform_update()和 perform_destroy()方法即可
或直接完全重写create,update,destroy 方法

标签:perform,queryset,ModelViewSet,rest,方法,重写,class,serializer
来源: https://blog.csdn.net/qq_30909491/article/details/112254517