【发布时间】:2016-05-31 14:47:56
【问题描述】:
我正在将一个应用程序从 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 给出了 ValidationError -- Field is required: ['id'] Invalid Object ID: ['auto_id_0'] 用于上述模型的文档。
我也尝试使用db_field 参数,如
id = db.IntField(db_field='l_id', unique=True)
...但无济于事。
请注意,我无意覆盖 mongodb 的默认 ObjectID 字段。除了在反序列化时重命名该字段之外,还有其他解决方法吗?
【问题讨论】:
标签: flask mongoengine flask-mongoengine