Как я могу удалить пользователя, который вошел в систему в django? - PullRequest
2 голосов
/ 30 июня 2010

Я использую Django.

Как я могу удалить пользователя, который вошел в систему?

или

Как мне получить сеанс пользователя и убить его?

1 Ответ

5 голосов
/ 30 июня 2010

Если вы можете получить доступ к оболочке, то:

$ ./manage.py shell

In [1]: from django.contrib.sessions.models import Session

In [2]: for s in Session.objects.all():
   ...:     data = s.get_decoded()
   ...:     if data.get('_auth_user_id', None) == YOUR_USER_ID:
   ...:         s.delete()
   ...:         
   ...:         

Заменить YOUR_USER_ID идентификатором пользователя, которого нужно удалить.

Ключ '_auth_user_id' может отличаться от версии к версии, я полагаю, но это сработало для меня. Чтобы проверить, есть ли у вас то же самое, просто распечатайте некоторые из s.get_decoded() и посмотрите на вывод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...