Python 如何打印mongoengine&x27的内容;s QuerySet

Python 如何打印mongoengine&x27的内容;s QuerySet,python,mongoengine,Python,Mongoengine,我想打印QuerySet以进行调试。它是这样动态构造的: qs = self.model.objects orm_lookups = [self.construct_search(str(search_field)) for search_field in self.search_fields] for bit in search_query.split(): or_queries = [Q(**{orm_lookup: bit}) for orm_lookup in orm_looku

我想打印QuerySet以进行调试。它是这样动态构造的:

qs = self.model.objects
orm_lookups = [self.construct_search(str(search_field)) for search_field in self.search_fields]
for bit in search_query.split():
    or_queries = [Q(**{orm_lookup: bit}) for orm_lookup in orm_lookups]
    qs = qs.filter(reduce(operator.or_, or_queries))
有一个名为
的方法用于_json
,但不幸的是,它返回空列表。有什么方法可以获得查询集的可读等价物吗?

您可以使用as_pymongo()

这将为您提供一个可以打印的词典列表

qs = qs.filter(reduce(operator.or_, or_queries)).as_pymongo()
print qs

另外一个需要注意的问题是,如果to_json()返回的是一个空字典,那么您的查询可能实际上没有返回任何结果

这正是我想要调试查询的原因。由于它是以编程方式构造的,所以在查询中很难想象结果。