XMLファイルからレコードをインポートしていますが、メモリが不足しています。 XML ElementTreeを使って、すべての要素とサブ要素を作成して削除して、メモリをクリアしましたが、まだスタックしています。Django MemoryError XMLファイルから多くのデータをインポートしています
私はついに解決策を見つけましたが、将来同じ問題を抱える可能性がある他者のために、これをSOに入れたいと考えていました。私は答えをウェブで見つけていた。私はこれを見つけたときDjango MemoryError - How to work with large databases。私のMemoryErrorは、私のQuerysetのサイズのためではありません。なぜなら、それはそれほど大きくないからです。でも、とにかく試してみると思いました。私はすべてのオブジェクトを.all()をobjects.all()。iterator()に変更しました。それは私がオブジェクトの約3つの異なるセットをループしているだけで、それほど大きなセットはありませんでした。私は躊躇して、DEBUG=True
をsettings.pyのDEBUG=False
にしました。そして、メモリ使用量をほとんど何も削減しました! Djangoのドキュメントから:。
「あなたがデバッグしているときには、便利ですDEBUGで実行されているがオンになったときに、Djangoはそれが実行されるすべてのSQLクエリを覚えているだろうことを覚えておくことも重要ですが、それは急速にメモリを消費します "
これは本番サーバーではなく、私の開発サーバーです。したがって、実行されたクエリはすべて保存されているので、どこに、どのように取得できますか?それらがデバッグに非常に役立つ場合、なぜそれらはより容易に利用できないのですか?ここで
素晴らしいDjangoの1.3.xの、男で、Djangoのログを経由してSQLクエリをログに記録することができます。それはかなりクールです。早速のご返事ありがとうございます。 – Furbeenator