Python 在MongoEngine查询中获取引用对象的数据,而不仅仅是id

Python 在MongoEngine查询中获取引用对象的数据,而不仅仅是id,python,mongodb,pymongo,mongoengine,Python,Mongodb,Pymongo,Mongoengine,我有一套模型,如下所示: 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)) 当我查询

我有一套模型,如下所示:

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'
         }
     ]
 }

您需要在模型中指定应该通过传递dbref=True来解除对它的引用

posts = mongo.ListField(mongo.ReferenceField(Post, dbref=True))