其他任何人都无法从问题中给出的详细信息中为您调试。
- 您是在重用现有的通用视图还是编写自己的视图?
- 您是否正在序列化数据,如果是,您的序列化程序定义是什么样的?
- 呈现到 JSON 时,还是仅呈现到 Browsable API 时出现问题?
- 您提到在没有 REST 框架的情况下提供内容 - 之前的视图是什么样的,之后又是什么样的?
REST framework 视图很简单,所以使用分析工具,或者简单地覆盖它们并添加一些时间。同样,渲染器是微不足道的- 子类您目前使用的任何渲染器,覆盖.render()
并在调用父方法的任一侧添加几个计时调用.render()
。
如果您认为您已将问题缩小到特定区域,那么请组合一个最小的测试用例并将其作为问题提交。
序列化本身不太可能成为问题,我使用相同的序列化引擎来复制 Django 的夹具转储,并且没有明显的退化。
如果您要跨模型关系进行查找,则可能需要在构造查询集时添加.select_related()
或.prefetch_related()
调用,这与任何其他 Django 视图完全相同。
编辑:请注意,从这篇文章开始,序列化程序的速度得到了显着的改进,正如这张票中所指出的那样。