我正在将一个应用程序从 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)
……但无济于事。
请注意,我无意覆盖ObjectID
mongodb 的默认字段。除了在反序列化时重命名字段之外,是否有任何解决方法?