1.3 视图集ViewSet
视图集路由
- simpleRouter
- DefaultRouter
# 路由类默认只会给视图集中的api生成地址[增删改查一和查多]
from rest_framework.routers import DefaultRouter
router = DefaultRouter()
# router.register("访问地址","视图集类","访问别名")
# 把路由列表注册到Django项目中
urlpatterns +=router.urls
action
from rest_framework.decorators import action
# methods 指定允许那些http请求访问当前视图方法
# detail 指定生成的路由地址中是否要携带PK值
@action(methods=["GET"], detail=true)
def get_one(self, request)
return Response({"ok"})
在多个视图类调用多个序列化器
class studentAPIView(GenericAPIView):
queryset = Products.objects.all()
serializer_class = ProductsSerializer
# GenericAPI内部调用序列化器的方法,我们可以重写这个方法来实现不同需求调用不同序列化器
def get_serializer_class(self):
if self.request.method =