如何打印mongoengine的QuerySet的内容

时间:2014-05-23 10:37:44

标签: 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_lookups]
    qs = qs.filter(reduce(operator.or_, or_queries))

有一个名为to_json的方法,但不幸的是它返回空列表。有没有办法获得与查询集等效的可读性?

1 个答案:

答案 0 :(得分:2)

您可以使用as_pymongo()。

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

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

你应该研究的另一个指针是,如果to_json()返回一个空字典,你的查询实际上可能不会返回任何结果。