Django: очистка таблицы базы данных сеанса

21

Нужно ли очищать эту таблицу или автоматически ли она обрабатывается Django?

    
задан nemesisdesign 04.09.2011 в 00:10
источник

3 ответа

33

Django НЕ обеспечивает автоматическую очистку. Однако есть доступная команда, которая поможет вам сделать это вручную: Ссылка

python manage.py clearsessions
    
ответ дан Abid A 04.09.2011 в 00:26
  • Если вы используете Django 1.5 или ниже, вы можете использовать очистку python manage.py –  Josir 10.06.2015 в 02:16
  • Я был в своем psql и узнал, что TRUNCATE django_session; также работает. –  Alper 21.10.2017 в 22:30
  • Я бы заранее проверил сеансы перед удалением: в mysql выберите * из django_session; или посмотреть, сколько из них выбрано count (*) из django_session; –  Timo 15.03.2018 в 09:59
2
  1. Django 1.6 или выше

    python manage.py clearsessions

  2. Django 1.5 или ниже

    python manage.py cleanup

  3. Из оболочки Django

    from django.contrib.sessions.models import Session

    Session.objects.all().delete()

  4. Джанго-сеанс очистка cornJob

ответ дан Roshan 07.10.2017 в 07:30
0

В моем development server я предпочитаю команду базы данных над python manage.py clearsessions , потому что вы удаляете все сеансы, а не только истекшие (здесь: mysql). Поэтому войдите в свою базу данных и выполните:

truncate table django_session;

BTW, session - это не база данных, а таблица (django_session) и приложение (django.contrib.sessions).

    
ответ дан Timo 15.03.2018 в 10:50