Django 将多个大 QuerySet 序列化为一个 json 对象

问题描述

你好,我有这个关于序列化查询集的问题,现在我是这样做的:

我有 9 个这样的查询

s1 = S280000020E3120.objects.filter(date__range=[dateo,datee]).values('date','temprature')
s1 = s1.filter(date__minute=20) |s1.filter(date__minute=40) |s1.filter(date__minute=00)
...[sinp]...

然后我对所有这些都进行了list()

     result = {
             'ds1':[
                 list(s1),S280000020E3120.objects.last().sensor.description,],...[sinp]...

在视图结束时我只是

return JsonResponse(result,safe=False)

这很慢,我猜我的树莓派一直在运行,使用 100% 内存和交换,因为 list()。 我试图用 list() 替换 django.core serializers 像这样:

     result = {
             'ds1':[
                 serializers.serialize('json',s1),...[sinp]...

但这也没有奏效,它甚至比普通的 list() 还要慢。 使用 list() 大约需要 60 秒来序列化网站上的所有内容输出serializers.serialize() 大约是 80 秒。 整个 9 查询需要一秒钟才能完成并返回数据。 所以我的问题是:有没有办法做得更好?如何减少一些时间和内存使用量?但说实话,我最关心的是时间。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)