相关疑难解决方法(0)

APIView类和viewsets类之间的区别?

有什么区别APIView类和viewsets类?我正在关注Django REST框架官方文档.我认为它缺乏例子.

你能用一个合适的例子解释上述差异吗?

django django-views django-rest-framework

18
推荐指数
4
解决办法
9103
查看次数

Django REST框架:泛型或ModelViewSets?

我使用泛型和普通URL作为我的REST API,但现在我遇到了问题:我想要自定义操作,简单的视图来为我的模型做一些事情,比如"运行","发布"等.

ViewSetaction装饰者创建自定义动作,但只有在ViewSets中,还有步进路由器,这使我们能够使用railsish convention-over-configuration简化所有操作.

但我发现这ModelViewSet给了我们相同的能力,如泛型:完整的CRUD,序列化器,过滤器,cusstom前/后和查询集,所以,它会导致问题:

为什么有泛型,如果ModelViewSet给予相同的能力和更多?有什么区别?

python django rest django-rest-framework

9
推荐指数
3
解决办法
1万
查看次数

使用或继承APIView和Model ViewSet有什么区别

当我想序列化我的模型以获得它们的对象/记录列表时,我会遇到关于何时使用 APIView 和何时使用 ModelViewSet 的差异?

例如,在APIView 文档中,我们使用 ListUser 类及其 get 方法可以获得用户列表

class ListUsers(APIView):
    """
    View to list all users in the system.

    * Requires token authentication.
    * Only admin users are able to access this view.
    """
    authentication_classes = (authentication.TokenAuthentication,)
    permission_classes = (permissions.IsAdminUser,)

    def get(self, request, format=None):
        """
        Return a list of all users.
        """
        usernames = [user.username for user in User.objects.all()]
        return Response(usernames) 
Run Code Online (Sandbox Code Playgroud)

我已经通过这种方式使用 ModelViewSet 获得了相同的用户列表:

class UserViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows users to be viewed …
Run Code Online (Sandbox Code Playgroud)

django django-views django-rest-framework

8
推荐指数
1
解决办法
4466
查看次数