私はmongodb-engineと組み合わせてdjango-nonrelを使用しています。 mongodbオブジェクトに格納されているすべてのフィールドもモデル上に定義されていれば完璧に動作します。Djangoモデルの元のMongodbデータにアクセスする
しかし、私はモデルに設定されていないMongoDBのオブジェクト、上のいくつかの余分なデータを持っています。それが私の問題です。今の私はそうのように、元のMongoDBオブジェクトを取得するために余分なクエリを実行します。
collection = connection.get_collection(self._meta.db_table)
self._mongo_data = collection.find_one({'_id': ObjectId(self.pk)})
それは正常に動作しますが、これは作成するための最初のこのクエリが実行される第二の時間(であるため、その効率的ではありません元のmongodbデータを取得します)。
は、モデルを作成するために取得した元のデータにアクセスする方法はありますか?余分なデータをその場で作成されるため、モデルにこれらの追加のフィールドを設定は、オプションではありません。
ありがとうございました!私は、モデルが作成されると、残念ながらこの余分なデータは失われ、結果セットに余分のmongoデータを追加することができ判明: https://github.com/django/django/blob/master/django/db/models/ query.py#L298 – Willian
私はあなたの最善の策は、余分なデータを取って、埋め込まれたドキュメントやdictフィールドを使用して埋め込むことだと思います。 – gone