django-rest-framework - 在 Django Rest Framework 中覆盖 list() 是一个好习惯吗?

标签 django-rest-framework

我的问题都在标题里。

我正在使用 DRF mixins,我想知道我是否可以覆盖 ListModelMixin 类中的方法 list()。我需要向我的数据添加一些计算信息。

代码源如下,可以找到here

class ListModelMixin(object):
    """
    List a queryset.
    """
    def list(self, request, *args, **kwargs):
        queryset = self.filter_queryset(self.get_queryset())

        page = self.paginate_queryset(queryset)
        if page is not None:
            serializer = self.get_serializer(page, many=True)
            return self.get_paginated_response(serializer.data)

        serializer = self.get_serializer(queryset, many=True)
        return Response(serializer.data)

最佳答案

是的,如果您需要任何不同的行为,这是一种常见的做法。

DRF 文档中也提到了这种做法。所以,你可以安全地做到这一点。 (参见:examples)

关于django-rest-framework - 在 Django Rest Framework 中覆盖 list() 是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54789430/

相关文章:

Django REST框架RetrieveAPIView获取空 "id"参数并返回404错误

django - 如何为 DRF Serializer 访问/创建正确的 Request 对象?

android - 使用 picasso 加载时图像未保存到存储中

python - 使用 Django REST 框架存储列表

django - 如何在不公开数据库中字段名称的情况下使用 OrderingFilter

django-rest-framework - 如何在使用 stream-django 和 django rest 框架进行扩充的过程中序列化对象?

django - 如何在不从嵌套序列化器创建模型的情况下通过序列化器创建模型实例?

django-rest-framework - 如何基于序列化器获取分页响应模式(drf-yasg)

javascript - 如何在Javascript中将字符串 "[7, 9]"转换为数组

python - POST 或 GET 失败或成功时友好的返回消息