标签:perform queryset ModelViewSet rest 方法 重写 class serializer
需求背景:
当继承ModelViewSet,视图层的类定义好之后,router.register注册类即可实现模型的增删改查,
但有些业务逻辑需要根据前端传入参数动态改变 queryset 和 serializer_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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。