Django:会话数据库表清理

nem*_*ign 27 python django django-sessions

这个表是需要清除还是由Django自动处理?

Abi*_*d A 41

Django不提供自动清除功能.但是,有一个方便的命令可以帮助您手动执行:https://docs.djangoproject.com/en/dev/topics/http/sessions/#clearing-the-session-store

python manage.py clearsessions
Run Code Online (Sandbox Code Playgroud)

  • 如果您使用Django 1.5或更低版本,则可以使用python manage.py cleanup (6认同)
  • @Alper 注意表格的截断,这将有效地清除系统中每个用户的会话,而不仅仅是 **clearsessions** 所做的过期的会话。有时这很好,但我敢打赌,您不想擦除每个人的有效会话数据……比如 5 分钟前登录的人。 (3认同)
  • 我在我的psql中,发现`TRUNCATE django_session;`也可以工作。 (2认同)

Ros*_*iya 10

  1. Django 1.6或以上

    python manage.py clearsessions

  2. Django 1.5或更低

    python manage.py cleanup

  3. 来自Django Shell

    from django.contrib.sessions.models import Session

    Session.objects.all().delete()

  4. django-session-cleanup cornJob