我试图了解DRF的工作原理,特别是GenericViewSet视图。
检索到请求时的事件顺序是什么? 哪个组件接收请求? 请求传递到哪里? 验证何时发生?
上下文:我所有的字段选择枚举都是小写的,因此我试图将所有到达的值(从不受控制的第三方)都转换为小写。在调用任何公开的GenericViewSet方法之前,Django的模型验证都会失败。在模型验证之前如何处理请求数据?
有人可以阐明这个话题吗?
答案 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)