我有一组模型如下:
import mongoengine as mongo
class Post(mongo.DynamicDocument):
text = mongo.StringField()
class User(mongo.DynamicDocument):
name = mongo.StringField(required=True)
posts = mongo.ListField(mongo.ReferenceField(Post))
当我查询用户时,请说id = 1
user = User.objects.get(id=1)
print(user.to_json())
我得到了有效载荷:
{
'_id': {'$oid': "1"},
'name': 'someUser',
'posts': [
{'id': {'$oid': "23"}}
]
}
当我查询用户时,我希望能够查看用户所有帖子的数据,除了相关帖子的ID之外。
我怎样才能得到这样的东西?
{
'_id': {'$oid': "1"},
'name': 'someUser',
'posts': [
{
'id': {'$oid': "23"},
'name': 'somePost'
}
]
}
答案 0 :(得分:2)
您需要在模型中指定应通过传递dbref = True来取消引用它。
posts = mongo.ListField(mongo.ReferenceField(Post, dbref=True))