私は1つのモデルを持っているDjangoで非常に簡単なアプリケーションを作った。要求が来たときに基本的にそのモデルからオブジェクトをフィルタリングし、テンプレートでレンダリングする。それは正常に動作しているようだが、私は私のデータベースのログをチェックするために行ったとき。私は、djangoがリクエストごとに2回接続して、リクエストセッションに関する情報を取得することを発見しました。なぜこれが起こっているのか、誰もが私を助けることができますか?下記のログの例を参照してくださいデータベースに2回接続するdjango
110414 18:28:29 8 Connect [email protected] on project1_dev
8 Query SET NAMES utf8
8 Query set autocommit=0
8 Query SELECT `django_session`.`session_key`, `django_session`.`session_data`, `django_session`.`expire_date` FROM `django_session` WHERE (`django_session`.`session_key` = '7af6952f847471091a83ee9382bb858d' AND `django_session`.`expire_date` > '2011-04-14 10:28:29')
8 Query SELECT `category_main`.`id`, `category_main`.`slug`, `category_main`.`is_active`, `category_main`.`site_id`, `django_site`.`id`, `django_site`.`domain`, `django_site`.`name` FROM `category_main` INNER JOIN `category_main_i18n` ON (`category_main`.`id` = `category_main_i18n`.`main_id`) INNER JOIN `django_site` ON (`category_main`.`site_id` = `django_site`.`id`) WHERE (`category_main_i18n`.`language` = 'en' AND `category_main`.`is_active` = 1)
8 Quit
9 Connect [email protected] on project1_dev
9 Query SET NAMES utf8
9 Query set autocommit=0
9 Query SELECT `django_session`.`session_key`, `django_session`.`session_data`, `django_session`.`expire_date` FROM `django_session` WHERE (`django_session`.`session_key` = '7af6952f847471091a83ee9382bb858d' AND `django_session`.`expire_date` > '2011-04-14 10:28:29')
9 Quit
はいファイルを提供するためにdjangoを使用しています。しかし、私はすばらしいことをしました、私はちょうどデバッグモードがfalseになるようにしました。私はまた、任意のcssまたはjsを提供する他のすべてのタグを削除し、単純なforループを維持してクエリを印刷し、上記と同じ結果を見ています。そのデータベースを2回クエリすると奇妙な部分は、その接続を閉じて再び開きます。 –
あなたはSQLリクエストを追跡するためにdjangoデバッグツールバーを試してみることができます。 –