Я согласен с ответом Пейла Макмиллана, что использование кэша будет правильным подходом.В прошлом я использовал низкоуровневый API-интерфейс кэширования Django , который просто позволяет централизованно хранить пары ключ-значение.
Я не уверен, насколько это эффективно, но вы могли бы очень просто сохранитьРазделенная запятыми строка идентификаторов пользователей, которые в данный момент находятся в сети:
from django.core.cache import cache
cache.set('users-online', '4,6,12,34')
, а затем:
for user_id in cache.get('users-online').split(','):
user = User.objects.get(pk=user_id)
# do something with the user ...