gpt4 book ai didi

python - 在 mongoengine 中通过 ReferenceField 设置文档 ID

转载 作者:太空宇宙 更新时间:2023-11-04 03:23:18 25 4
gpt4 key购买 nike

在 Mongoengine 中,我试图通过位于不同数据库中的文档的 ReferenceField 设置文档的 id 字段。

class User(Document):
name = StringField()
meta = {"db_alias": "user_db"}

class Credential(Document):
id = ReferenceField(User)
password = StringField()
meta = {"db_alias": "credentials_db"}

我可以做类似 u = User('someuser').save() 的事情,但问题是Credential(u, 'somepassword').save() 变成

ValidationError (Credential:None) (Invalid Object ID: ['auto_id_0'] Field is required: ['id'])

当然 Mongodb 只存储一些 ObjectId,因此我不明白为什么这不可能,但是 MongoEngine 支持这样的东西吗?

最佳答案

Document Ids必须是唯一的,因此您需要将 id 字段的 primary_key 设置为 True

class Credential(Document):
id = ReferenceField(User, primary_key=True)
...

关于python - 在 mongoengine 中通过 ReferenceField 设置文档 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33943459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com