Django - 数据对于会话太大

Django - 数据对于会话太大

问题描述:

我有一个视图,在该视图中查询数据库,然后将查询集提供给会话并在其他视图中使用它。它在大多数情况下都能正常工作,但在极少数情况下,当查询集变得非常大时,需要很长时间,并且出现超时。我想知道的是,如果我做正确的事情?如果不是,这种情况的最佳做法是什么?我有什么选择?Django - 数据对于会话太大

+1

我们需要更多的信息给你一个明智的答案。为什么你的工作流程是这样构建的?你用什么代码来获取并传递这些数据?在你的情况下可能有更好的方法来完成,但是我们对你的案例*能够提供的帮助不够了解。 – souldeux

从来没有在会话中存储QuerySet数据。你只需要制作一个列表(如[1,2,3,4,5]),然后发送它。

下一步是从ID的列表中得到查询集:

data_list = request.session['data_list'] 
services = Service.objects.filter(id__in=data_list) 

,现在你有你面前一样的QuerySet,但会话永远无法填补。