0016 基于DRF框架开发(视图集)

  通过基类视图,能够实现很简单,很有针对性的操作,但有时候,业务确实需要增删改查的功能都有。DRF提供了视图集,即一个视图,可以实现所有增删改查的功能。但由于url是否带参数,需要设置两个路由,即同样的接口名,一个带参一个不带参。

  在视图集中,需要相应的功能,则需要继承mixins的对应扩展类。

  打开Applications/Exampls/views/Schools.py文件,前面增加一个引用包,后面增加一个视图集类。

from rest_framework.viewsets import GenericViewSet.


class SchoolViewSet(GenericViewSet, mixins.ListModelMixin, mixins.CreateModelMixin, mixins.UpdateModelMixin,
                    mixins.RetrieveModelMixin, mixins.DestroyModelMixin):
    queryset = Schools.objects.all()
    serializer_class = SchoolsSerializer

  配置url增加两个相同接口名的路由:

path('SchoolViewSet/', SchoolViewSet.as_view({'get': 'list', 'post': 'create'})),
path('SchoolViewSet/<int:pk>/', SchoolViewSet.as_view({'get': 'retrieve','put':'update','delete':'destroy'})),

  运行测试接口!发现,几行代码,就达成了增删改查的所有功能!

猜你喜欢

转载自www.cnblogs.com/dorian/p/12378423.html