0

私はMongoEngineでFlaskを使用しています。テストとして、mongoengine.Documentをサブクラス化し、いくつかのMongoEngineフィールドを持つクラスを含むPythonファイルを作成することにより、スキーマにいくつかの必須フィールドを持つコレクションをMongoEngineに追加しようとしました。これはうまくいきました。

しかし、後でこれらのフィールドの一部をスキーマから削除し (mongoengine.Document をサブクラス化する python クラスを編集するだけで)、新しいドキュメントをコレクションに追加しようとすると、スキーマから既に削除したフィールドに対して MongoEngine が ValidationErrors をスローしました。スキーマをリセットする方法はありますか? また、MongoEngine が将来同じことをしないようにするにはどうすればよいですか?

4

1 に答える 1

1

ドキュメントがモジュールにキャッシュされている可能性があるため、Flask / Web サーバーを再起動しましたか。Web サーバーを再起動してモジュールをリロードすると、それらの定義がなくなり、エラーがスローされなくなります。MongoEngine は、mongoDB のみのデータにスキーマ状態情報を保存しません。

于 2012-08-07T07:23:45.537 に答える