Django: request.user.id возвращает идентификатор объекта пользователя (после запроса к базе данных) или только идентификатор из файлов cookie? - PullRequest
0 голосов
/ 26 декабря 2011

Этот вопрос мне очень интересен по соображениям производительности. Если каждый request.user.id отправляет запрос в базу данных, это нехорошо, а если он берет id из файлов cookie, все в порядке.

Спасибо!

1 Ответ

2 голосов
/ 26 декабря 2011

Да, request.user - это объект django.contrib.auth.models.User, поэтому он попадет в базу данных. Вы хотите использовать промежуточное программное обеспечение session , которое поддерживает несколько бэкэндов , поэтому, например, вы можете использовать механизм кэширования и сохранять свои сеансы в memcache.

Если вы действительно хотите, чтобы данные вашего сеанса сохранялись в виде файла cookie, версия разработки Django включает в себя основанный на cookie-файле сеанс , то есть вы можете подождать, пока выйдет 1.4, или перенести его обратно в 1.3 (или использовать разрабатываемая версия сразу).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...