如何显示prefetch_related生成的查询

时间:2015-10-18 10:23:00

标签: django django-queryset

我有一个带有 public function getPath($pageID = null) { if($pageID == null) $pageID = $this->id; $data = $this->_db->fetch_array("SELECT * FROM `pages` WHERE `id` = '".$pageID."'"); if(!empty($data)) { $this->tempPath[] = $data['basename']; if($data['parentID'] != 0) { $this->getPath($data['parentID']); } else { $returnPath = $this->tempPath; $this->tempPath = array(); $returnPath = implode('/', array_reverse($returnPath)); //This variable holds the value, when echo'ed its the correct value echo $returnPath; return $returnPath; } } } (带有prefetch_related()对象)

的QuerySet

我希望看到原始查询和Prefetch,但它没有显示有关print(qs.query)内容的任何内容。

如何查看由prefetch_related生成的查询?

1 个答案:

答案 0 :(得分:6)

查询集的query对象只会显示Django为查询集本身生成的查询(在应用任何prefetch_related之前)。

您可能需要查看these guidelines以检查实际发送到您的数据库的查询:

from django.db import connection
print(connection.queries)

或者,您可以使用django-debug-toolbar之类的内容来显示查询。