Qui*_*pl3 5 python django django-rest-framework
我目前有两个不同的基于类的视图,用于详细说明特定对象和列出所有对象:
class StatusList(ListAPIView):
permission_classes = (IsAuthenticated,)
serializer_class = serializers.StatusSerializer
def get_queryset(self):
queryset = helperfunctions.getObjects(self.request.user, models.Status)
return queryset
class StatusDetail(RetrieveAPIView):
permission_classes = (IsAuthenticated,)
serializer_class = serializers.StatusSerializer
def get_queryset(self):
queryset = helperfunctions.getObjects(self.request.user, models.Status)
return queryset
Run Code Online (Sandbox Code Playgroud)
请注意,helperfunctions.getObjects() 只是返回与用户共享同一设施的对象,以便他们无法看到不应看到的状态。
我想知道的是是否有一个选项可以为 StatusDetail 和 StatusList 只使用一个基于类的视图,它会自动知道当它在 get 请求中获得 pk 时,它会返回适当的对象,而当没有时,它应该返回整个对象列表。
谢谢你的帮助 :)
使用视图集,如下所示:
from rest_framework import viewsets, permissions, mixins
class StatusDetail(mixins.ListModelMixin, #specify wanted mixins
mixins.RetrieveModelMixin,
viewsets.GenericViewSet):
permission_classes = (IsAuthenticated,)
serializer_class = serializers.StatusSerializer
def get_queryset(self):
queryset = helperfunctions.getObjects(self.request.user, models.Status)
return queryset
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2280 次 |
| 最近记录: |