我的问题都在标题里。
我正在使用 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/