1

次のケースを処理する方法がわかりません(したがって、明らかに私の質問です)。

すべてのdjangoモデルデータを含めるためにpostgresqlを使用したdjangoセットアップがありますが、拡張データを管理するmongoengine(それらと呼びましょう)もあります。

また、2 つの間に循環参照があります (mongo_id は django モデルから mongoengine ドキュメント PK を指し、db_id は mongoengine から django モデル PK を指します)。

明らかに、実行するdumpdataと、django モデル データのみが取得されます。どうすればmongoengineからもデータをダンプできますか? これを達成する方法はありますか?

これは、データのバックアップを取得するためです。参照ファイルのバックアップは、ディスク上のファイルを取得するだけで簡単に実行できます。

DATABASESファイル内で別のものを定義しませんでしsettings.pyた (主に、要求されていないため)。それは私がする必要があることですか?

ご指摘ありがとうございます。

おまけとして、管理インターフェイスでこれらの mongoengine だけでなく、基本的な django モデルも使用できれば幸いです。

4

1 に答える 1

1

まず、mongodumpを使用してデータをダンプできます。

あるプロジェクトでは、あるデータベースからスキーマが大きく異なる別のデータベースにデータを移動する必要があったため、それを行う管理コマンドを作成しました。同様の方法で使用したい場合は、現在の定義の有効なデータのみを移動Documentし、古い定義の残りの可能性を除外するという利点があります。

ダンプ管理コマンドには、次のようなものが含まれている必要があります

from bson import json_utils
json_util.dumps(map(lambda x: x.to_mongo(), SomeDocument.objects.all()))
于 2013-05-21T16:23:36.633 に答える