См. Раздел документации по сессиям, озаглавленный "Использование сеансов вне представлений" .
Однако проблема в том, что Django не хранит пользователя с сеансом (в целях безопасности). Таким образом, единственный способ получить сеанс через его ключ. Этот ключ хранится в клиенте пользователя и передается на сервер, чтобы связать сеанс с вошедшим в систему пользователем. Другими словами, вам будет сложно определить, какой сеанс принадлежит какому пользователю.
Более того, данные сеанса фактически зашифрованы и в базе данных, поэтому нет даже способа напрямую запросить сохраненный в нем идентификатор пользователя. Следующее будет работать, но вам придется запрашивать каждый сеанс один за другим, чтобы получить нужного пользователя. В зависимости от того, сколько сеансов в вашей базе данных в настоящее время, это может быть очень дорого. Пометить как ИСПОЛЬЗОВАТЬ НА СВОЙ СТРАХ И РИСК
from django.contrib.sessions.models import Session
from django.contrib.sessions.backends.db import SessionStore
for session in Session.objects.all():
data = SessionStore().decode(session.session_data)
if data.get('_auth_user_id') == user_id_you_want:
user_session = SessionStore(session_key=session.session_key)
# you can modify the session data here like normal, then:
user_session.save()