2 つのデータベースを同期するスクリプトを作成しています。データベースにはツリーとして保存する必要があるデータがあるため、新しい DB にはdjango-mpttを使用します。DB を同期するとき、古い DB から新しいデータを選択し、それを新しい DB に保存する必要があります。
新しいノードをツリーに追加するためのより良い方法があるかどうか知りたいですか? 次のようになります。
...
# Add new data to DB
for new_record in new_records:
# Find appropriate parent using data in 'new_record'
parent = get_parent(new_record)
# Create object which should be added using data in 'new_record'
new_node = MyMPTTModel(...)
new_node.insert_at(parent, save = True)
# Similar to:
# new_node.insert_at(parent, save = False)
# new_node.save()
しかし、動作が非常に遅いです。insert_at(..., save = True)
メソッドdjango-mptt
を呼び出すたびに新しいノードをDBに書き込み、すでにDBにあるレコードのキーを left
変更する必要があるため、このように機能すると思います。right
django-mptt
呼び出すたびにクエリを変更し、insert_at
呼び出したときにすべての変更をまとめて適用する方法はありますsave
か? または、実行時間を短縮する他の方法を知っていますか?
前もって感謝します。