Django/MySQL から Flask/mongo-engine へのアプリケーションの改良に取り組んでおり、idフィールドを持つモデルの作成に問題があります。これはサンプル モデルです。
class Location(db.Document):
id = db.IntField(unique=True)
name = db.StringField(max_length=200, required=True)
# other fields in the document ...
下位互換性のために、名前がそのままのフィールドが必要idです。これは MySQL では正常に機能していましたが、mongo-engine はField is required: ['id'] Invalid Object ID: ['auto_id_0']上記のモデルのドキュメントに対して ValidationError を返します。
また、次のdb_fieldようにパラメーターを使用してみました
id = db.IntField(db_field='l_id', unique=True)
...しかし、役に立たない。
ObjectIDmongodbのデフォルト フィールドをオーバーライドするつもりはないことに注意してください。逆シリアル化時にフィールドの名前を変更する以外に、これに対する回避策はありますか?