【问题标题】:How can I bulk delete Django session variables?如何批量删除 Django 会话变量?
【发布时间】:2020-08-02 01:46:49
【问题描述】:

我使用会话将一些 API 结果存储为缓存,尽管我的会话是基于数据库的。

特别是,我使用“product_{id}”之类的会话密钥。当用户进行批量编辑时,我需要删除缓存以便他可以加载 API 结果。如何批量删除它们?

我知道我可以像模型out of view 一样管理会话。此外,我可以使用过滤器进行批量编辑 - startswith。如下所示。

q1 = Entry.objects.filter(headline__startswith="What")

但是,密钥看起来像第一个链接中提到的那样编码。我该如何处理?

from django.contrib.sessions.models import Session
s = Session.objects.get(pk='2b1189a188b44ad18c35e113ac6ceead')
s.expire_date
datetime.datetime(2005, 8, 20, 13, 35, 12)

【问题讨论】:

  • 如果你需要这个,你应该做一个连接用户和会话模型的模型。

标签: django session


【解决方案1】:

您可以使用./manage.py clearsessions 清除过期会话。不过我没有找到删除所有这些的方法。

【讨论】:

  • 用户完成批量编辑后,会话可能不会过期。 Clearsessions 无法清除向用户显示的已弃用结果
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-13
  • 2012-05-14
  • 2019-10-18
  • 2015-07-09
  • 2013-07-14
  • 1970-01-01
  • 2019-01-23
相关资源
最近更新 更多