Django-Rest-Framework收到请求后会发生什么?

时间:2018-12-30 16:25:58

标签: python django django-rest-framework

我试图了解DRF的工作原理,特别是GenericViewSet视图。

检索到请求时的事件顺序是什么? 哪个组件接收请求? 请求传递到哪里? 验证何时发生?

上下文:我所有的字段选择枚举都是小写的,因此我试图将所有到达的值(从不受控制的第三方)都转换为小写。在调用任何公开的GenericViewSet方法之前,Django的模型验证都会失败。在模型验证之前如何处理请求数据?

有人可以阐明这个话题吗?

1 个答案:

答案 0 :(得分:0)

我建议您覆盖要调试的方法。

然后可以放置一个断点来探索当前范围。内置模块(例如pdb)非常适合!这是使用rest_framework.generics.CreateAPIView的示例。请注意,您可以在跟踪中使用request.data访问帖子数据。

from rest_framework.generics import CreateAPIView
import pdb;
...
class ExampleCreateView(CreateAPIView):

    def create(self, request, *args, **kwargs):
        pdb.set_trace()
        return super(ExampleCreateView, self).create(request, *args, **kwargs)