Below is the text of the page https://web-brains.com/tag/sql/ stored 2008-02-29 by archive.org.ua. The original page over time could change. View as original html

Posts

web brains [/] About Trac login close Login with password Forgot password? Login with OpenID All articles, tagged with “sql” Просмотр SQL запросов, сделанных Django ORM 26 . 12 . 2007 10:20 | 3 comments | 0 pingbacks | debugging , django , orm , python , sql , templatetag Частая задача, которая встаёт при использовании Django в серьёзных проектах - знать, какие именно запросы генерирует Django ORM . Неподготовленного человека просмотр этих SQL запросов (вернее их количества) может привести в шок ) Например, если поле объекта является ForeignKey(null=True), то при выводе этого поля у множества объектов, на каждый объект будет делаться запрос для этого поля и даже select_related() не поможет. Подобные проблемы решаются различными ухищрениями типа: - http://web-brains.com/2007/12/06/selecte_related_and_foreign_key/ - http://piranha.org.ua/blog/2007/10/31/related-objects/ Но рассказать я хочу не про ухищрения, о которых и так уже рассказано, а о том, как можно удобно просматривать SQL запросы для каждой конкретной страницы сайта, сделанного на Django. continue reading Last comments lorien » Просмотр SQL запросов в Django: часть2 Лунная соната » Просмотр SQL запросов в Django: часть2 Фадеев » Firefox3 && firebug Фадеев » Просмотр SQL запросов в Django: часть2 Константин » Просмотр SQL запросов в Django: часть2 Last posts Просмотр SQL запросов в Django: часть2 Firefox3 && firebug Плагины для веб приложения на django Розовый попятчсо Тестирование импорта сообщений Useful information Blog feed Comments feed Tags django pagination newforms shell firebug authentication rubyonrails memoryleak sql decorator fastcgi middleware статистика бабло python экспорт debugging sape validation orm template byteflow backup форум plugin awstats select_related logrotate production документация punbb pybb oscon блоги деньги foreignkey templatetag nginx debug блог firefox mercurial javascript script seo ajax backend Advertize webmaster: lorien debug sql count: 12, sql time: 0.018 time: 0.001 SELECT ` tag ` . ` id ` , ` tag ` . ` name ` , ` tag ` . ` translation ` FROM ` tag ` WHERE ( ` tag ` . ` name ` = sql ) time: 0.001 SELECT COUNT ( * ) FROM ` blog_post ` , ` tagged_item ` WHERE ` tagged_item ` . content_type_id = 12 AND ` tagged_item ` . tag_id = 40 AND ` blog_post ` . ` id ` = ` tagged_item ` . object_id AND ( ` blog_post ` . ` is_draft ` = False AND ` blog_post ` . ` date ` <= 2008 - 02 - 29 22 : 41 : 49 . 293145 ) time: 0.003 SELECT ` blog_post ` . ` id ` , ` blog_post ` . ` author_id ` , ` blog_post ` . ` name ` , ` blog_post ` . ` slug ` , ` blog_post ` . ` teaser ` , ` blog_post ` . ` text ` , ` blog_post ` . ` render_method ` , ` blog_post ` . ` html ` , ` blog_post ` . ` date ` , ` blog_post ` . ` is_draft ` , ` blog_post ` . ` is_featured ` , ` blog_post ` . ` enable_comments ` , ` blog_post ` . ` tags ` ,( SELECT COUNT ( * ) FROM comment_nodes , django_content_type WHERE comment_nodes . content_type_id = django_content_type . id AND django_content_type . model = 'post' AND comment_nodes . object_id = blog_post . id AND comment_nodes . approved ) AS ` approved_comments_count ` , ( SELECT COUNT ( * ) FROM pingback , django_content_type WHERE pingback . content_type_id = django_content_type . id AND django_content_type . model = 'post' AND pingback . object_id = blog_post . id ) AS ` pingback_count ` FROM ` blog_post ` , ` tagged_item ` WHERE ` tagged_item ` . content_type_id = 12 AND ` tagged_item ` . tag_id = 40 AND ` blog_post ` . ` id ` = ` tagged_item ` . object_id AND ( ` blog_post ` . ` is_draft ` = False AND ` blog_post ` . ` date ` <= 2008 - 02 - 29 22 : 41 : 49 . 293145 ) ORDER BY ` blog_post ` . ` date ` DESC LIMIT 1 time: 0.001 SELECT ` tag ` . ` id ` , ` tag ` . ` name ` , ` tag ` . ` translation ` FROM ` tag ` INNER JOIN ` tagged_item ` AS ` tag__items ` ON ` tag ` . ` id ` = ` tag__items ` . ` tag_id ` WHERE ( ` tag__items ` . ` content_type_id ` = 12 AND ` tag__items ` . ` object_id ` = 22 ) ORDER BY ` tag ` . ` name ` ASC time: 0.002 SELECT ` comment_nodes ` . ` id ` , ` comment_nodes ` . ` user_id ` , ` comment_nodes ` . ` pub_date ` , ` comment_nodes ` . ` body ` , ` comment_nodes ` . ` body_html ` , ` comment_nodes ` . ` reply_to_id ` , ` comment_nodes ` . ` approved ` , ` comment_nodes ` . ` content_type_id ` , ` comment_nodes ` . ` object_id ` , ` comment_nodes ` . ` lft ` , ` comment_nodes ` . ` rght ` , ` auth_user ` . ` id ` , ` auth_user ` . ` username ` , ` auth_user ` . ` first_name ` , ` auth_user ` . ` last_name ` , ` auth_user ` . ` email ` , ` auth_user ` . ` password ` , ` auth_user ` . ` is_staff ` , ` auth_user ` . ` is_active ` , ` auth_user ` . ` is_superuser ` , ` auth_user ` . ` last_login ` , ` auth_user ` . ` date_joined ` , ` auth_user ` . ` site ` , ` auth_user ` . ` email_new ` , ` django_content_type ` . ` id ` , ` django_content_type ` . ` name ` , ` django_content_type ` . ` app_label ` , ` django_content_type ` . ` model ` FROM ` comment_nodes ` , ` auth_user ` , ` django_content_type ` WHERE ( ` comment_nodes ` . ` approved ` = True ) AND ` comment_nodes ` . ` user_id ` = ` auth_user ` . ` id ` AND ` comment_nodes ` . ` content_type_id ` = ` django_content_type ` . ` id ` ORDER BY ` comment_nodes ` . ` pub_date ` DESC LIMIT 5 time: 0.001 SELECT ` blog_post ` . ` id ` , ` blog_post ` . ` author_id ` , ` blog_post ` . ` name ` , ` blog_post ` . ` slug ` , ` blog_post ` . ` teaser ` , ` blog_post ` . ` text ` , ` blog_post ` . ` render_method ` , ` blog_post ` . ` html ` , ` blog_post ` . ` date ` , ` blog_post ` . ` is_draft ` , ` blog_post ` . ` is_featured ` , ` blog_post ` . ` enable_comments ` , ` blog_post ` . ` tags ` ,( SELECT COUNT ( * ) FROM comment_nodes , django_content_type WHERE comment_nodes . content_type_id = django_content_type . id AND django_content_type . model = 'post' AND comment_nodes . object_id = blog_post . id AND comment_nodes . approved ) AS ` approved_comments_count ` , ( SELECT COUNT ( * ) FROM pingback , django_content_type WHERE pingback . content_type_id = django_content_type . id AND django_content_type . model = 'post' AND pingback . object_id = blog_post . id ) AS ` pingback_count ` FROM ` blog_post ` WHERE ( ` blog_post ` . ` id ` = 28 ) time: 0.001 SELECT ` blog_post ` . ` id ` , ` blog_post ` . ` author_id ` , ` blog_post ` . ` name ` , ` blog_post ` . ` slug ` , ` blog_post ` . ` teaser ` , ` blog_post ` . ` text ` , ` blog_post ` . ` render_method ` , ` blog_post ` . ` html ` , ` blog_post ` . ` date ` , ` blog_post ` . ` is_draft ` , ` blog_post ` . ` is_featured ` , ` blog_post ` . ` enable_comments ` , ` blog_post ` . ` tags ` ,( SELECT COUNT ( * ) FROM comment_nodes , django_content_type WHERE comment_nodes . content_type_id = django_content_type . id AND django_content_type . model = 'post' AND comment_nodes . object_id = blog_post . id AND comment_nodes . approved ) AS ` approved_comments_count ` , ( SELECT COUNT ( * ) FROM pingback , django_content_type WHERE pingback . content_type_id = django_content_type . id AND django_content_type . model = 'post' AND pingback . object_id = blog_post . id ) AS ` pingback_count ` FROM ` blog_post ` WHERE ( ` blog_post ` . ` id ` = 28 ) time: 0.001 SELECT ` blog_post ` . ` id ` , ` blog_post ` . ` author_id ` , ` blog_post ` . ` name ` , ` blog_post ` . ` slug ` , ` blog_post ` . ` teaser ` , ` blog_post ` . ` text ` , ` blog_post ` . ` render_method ` , ` blog_post ` . ` html ` , ` blog_post ` . ` date ` , ` blog_post ` . ` is_draft ` , ` blog_post ` . ` is_featured ` , ` blog_post ` . ` enable_comments ` , ` blog_post ` . ` tags ` ,( SELECT COUNT ( * ) FROM comment_nodes , django_content_type WHERE comment_nodes . content_type_id = django_content_type . id AND django_content_type . model = 'post' AND comment_nodes . object_id = blog_post . id AND comment_nodes . approved ) AS ` approved_comments_count ` , ( SELECT COUNT ( * ) FROM pingback , django_content_type WHERE pingback . content_type_id = django_content_type . id AND django_content_type . model = 'post' AND pingback . object_id = blog_post . id ) AS ` pingback_count ` FROM ` blog_post ` WHERE ( ` blog_post ` . ` id ` = 27 ) time: 0.001 SELECT ` blog_post ` . ` id ` , ` blog_post ` . ` author_id ` , ` blog_post ` . ` name ` , ` blog_post ` . ` slug ` , ` blog_post ` . ` teaser ` , ` blog_post ` . ` text ` , ` blog_post ` . ` render_method ` , ` blog_post ` . ` html ` , ` blog_post ` . ` date ` , ` blog_post ` . ` is_draft ` , ` blog_post ` . ` is_featured ` , ` blog_post ` . ` enable_comments ` , ` blog_post ` . ` tags ` ,( SELECT COUNT ( * ) FROM comment_nodes , django_content_type WHERE comment_nodes . content_type_id = django_content_type . id AND django_content_type . model = 'post' AND comment_nodes . object_id = blog_post . id AND comment_nodes . approved ) AS ` approved_comments_count ` , ( SELECT COUNT ( * ) FROM pingback , django_content_type WHERE pingback . content_type_id = django_content_type . id AND django_content_type . model = 'post' AND pingback . object_id = blog_post . id ) AS ` pingback_count ` FROM ` blog_post ` WHERE ( ` blog_post ` . ` id ` = 28 ) time: 0.001 SELECT ` blog_post ` . ` id ` , ` blog_post ` . ` author_id ` , ` blog_post ` . ` name ` , ` blog_post ` . ` slug ` , ` blog_post ` . ` teaser ` , ` blog_post ` . ` text ` , ` blog_post ` . ` render_method ` , ` blog_post ` . ` html ` , ` blog_post ` . ` date ` , ` blog_post ` . ` is_draft ` , ` blog_post ` . ` is_featured ` , ` blog_post ` . ` enable_comments ` , ` blog_post ` . ` tags ` ,( SELECT COUNT ( * ) FROM comment_nodes , django_content_type WHERE comment_nodes . content_type_id = django_content_type . id AND django_content_type . model = 'post' AND comment_nodes . object_id = blog_post . id AND comment_nodes . approved ) AS ` approved_comments_count ` , ( SELECT COUNT ( * ) FROM pingback , django_content_type WHERE pingback . content_type_id = django_content_type . id AND django_content_type . model = 'post' AND pingback . object_id = blog_post . id ) AS ` pingback_count ` FROM ` blog_post ` WHERE ( ` blog_post ` . ` id ` = 28 ) time: 0.003 SELECT ` blog_post ` . ` id ` , ` blog_post ` . ` author_id ` , ` blog_post ` . ` name ` , ` blog_post ` . ` slug ` , ` blog_post ` . ` teaser ` , ` blog_post ` . ` text ` , ` blog_post ` . ` render_method ` , ` blog_post ` . ` html ` , ` blog_post ` . ` date ` , ` blog_post ` . ` is_draft ` , ` blog_post ` . ` is_featured ` , ` blog_post ` . ` enable_comments ` , ` blog_post ` . ` tags ` ,( SELECT COUNT ( * ) FROM comment_nodes , django_content_type WHERE comment_nodes . content_type_id = django_content_type . id AND django_content_type . model = 'post' AND comment_nodes . object_id = blog_post . id AND comment_nodes . approved ) AS ` approved_comments_count ` , ( SELECT COUNT ( * ) FROM pingback , django_content_type WHERE pingback . content_type_id = django_content_type . id AND django_content_type . model = 'post' AND pingback . object_id = blog_post . id ) AS ` pingback_count ` FROM ` blog_post ` WHERE ( ` blog_post ` . ` is_draft ` = False ) ORDER BY ` blog_post ` . ` date ` DESC LIMIT 5 time: 0.002 SELECT DISTINCT ` tag ` . id , ` tag ` . name , COUNT ( ` blog_post ` . ` id ` ) FROM ` tag ` INNER JOIN ` tagged_item ` ON ` tag ` . id = ` tagged_item ` . tag_id INNER JOIN ` blog_post ` ON ` tagged_item ` . object_id = ` blog_post ` . ` id ` WHERE ` tagged_item ` . content_type_id = 12 GROUP BY ` tag ` . id , ` tag ` . name ORDER BY ` tag ` . name ASC