Django:request.user.id是返回用户的对象id(在db查询之后)还是仅返回来自cookie的id?

时间:2011-12-26 11:14:18

标签: django

出于性能原因,这个问题非常有趣。如果每个request.user.id向数据库发送一个查询,那就不好了,如果它从cookie中获取id,那就没关系。

谢谢!

1 个答案:

答案 0 :(得分:2)

是的,request.userdjango.contrib.auth.models.User对象,所以它会命中数据库。您希望使用支持sessionseveral backends中间件,例如,您可以使用缓存引擎并将会话存储在内存缓存中。

如果你真的希望你的会话数据存储为cookie,那么Django开发版本包含一个cookie-based session后端,所以你可以等到1.4出来或者将它反向移植到1.3(或者立即使用开发版本)