Bis*_*rai 1 python django django-rest-framework
我正在使用 Django 休息框架。我需要传递一些额外的上下文值作为响应,但没有得到 extra_value 作为响应。
class ResultRowView(generics.ListAPIView):
serializer_class = ResultRowSerializer
permission_classes = (AccountPermission, )
def get_serializer(self, *args, **kwargs):
context = {'extra_value': 5000}
return self.serializer_class(*args, context=context, **kwargs)
def get_queryset(self):
qs = ResultRow.objects.none()
pk = self.kwargs.get('pk', None)
try:
route = IncomingRoute.objects.get(account=self.request.user.account, pk=pk)
qs = route.app_module.rows.all()
except Exception, e:
print 'result_row_query: ', e
return qs
Run Code Online (Sandbox Code Playgroud)
这里缺少什么?
您可以通过覆盖 list 方法来做到这一点,例如:
def list(self, request, *args, **kwargs):
response = super(ResultRowView, self).list(request, args, kwargs)
response.data[ 'extra_value' ] = 5000
return response
Run Code Online (Sandbox Code Playgroud)