Django initial_data.json内存问题

时间:2010-09-11 02:30:48

标签: django

我有一个巨大的(400MB)initial_data.json文件。 Django在尝试加载这个文件时耗尽了所有的记忆。

连连呢?当然有人在那里有他们使用的大型initial_data文件。我考虑将其转换为xml文件,但我不知道Django是否会尝试将所有内容加载到内存中,而且我还没准备好在不确定的情况下尝试它。

1 个答案:

答案 0 :(得分:0)

当你加载一个json文件时,django通过simplejson路由它,最终会这样做:

    return loads(fp.read(),  ...) 

(来自django.utils.simplejson)

换句话说,整个文件在传递给解码器之前被读取(fp.read())。似乎可以(但不是微不足道)修改simplejson一次读取一点文件。

但是,XML序列化程序使用pulldom,它显然“流式传输”XML文件。因此,它应该是更高的内存效率。