两个有关联关系的models 无用代码已经删除留了关键模块
class Business(models.Model):
date = models.DateTimeField(default="2018-01-23 15:55")
average = models.FloatField(default=0)
class Testcase(models.Model):
measure=models.ForeignKey(Business,default=0)
value= models.FloatField(default=0)
直接使用序列化,代码如下
param = Testcase.objects.filter(**dic)
serializer = TestcaseSerializer(instance=param, many=True)
100多条数据直接12s开外,找了挺多,看不是很懂 param = Testcase.objects.filter(**dic)查询步骤正常,速度很快,但是序列化这一步就直接拉了裤, 查看instance源码,发现了有趣的地方 直接给序列化object他会一级一级找到关联的表格,所以速度慢,所以想着直接查出来,不用序列化在来一遍改完之后代码
param = Testcase.objects.select_related('Business').filter(**dic)
serializer = TestcaseSerializer(instance=param, many=True)
.select_related(‘Business’)就这个玩意,就直接起飞了
|