我想弄清楚为什么django rest framework ModelSerializer
这么慢。我知道N + 1查询的问题,情况并非如此。我有一个只有数字和字符串的超级简单模型。分析显示我的代码大部分时间都在Serializer::to_representation()
方法中,而不会进行任何数据库查询。
奇怪的是,在to_representation
方法中花费的时间有时是0.00001s
(这与我期望的一样),有时是0.001s
,有时(很少){{1} }。时间与被序列化对象的大小无关(在我的情况下,它们的大小大致相同)。
300个对象的序列化大约需要0.05s
。我手写的序列化程序只是简单地将1s
写入json字符串,手动获取所有字段而不是obj
来完成MySerializer(obj).data
中的工作,这与我期望的{{1}相当。花在0.05s
内。
有时可能会导致0.00001s
方法工作的速度变慢,如何让我的序列化程序更快?