2014-05-23 93 views
0

我想打印QuerySet以進行調試。它的動態構造是這樣的:如何打印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方法但不幸的是它返回空列表。有什麼辦法可以獲得與查詢集相當的可讀性嗎?

回答

2

您可以使用as_pymongo()。

這會給你一個你可以打印的字典列表。

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

只是一個指針等你應該考慮的是,也許你的查詢是不實際返回任何結果,如果to_json()將返回一個空的字典。

+0

這正是我想調試我的查詢的原因。由於它是以編程方式構建的,因此在查詢中想象結果有點困難。 – Kentzo