如何计算当前登录的所有用户? (Django 休息框架)

How to count all the users that are currently logged In ? (Django rest framework)

我目前正在尝试计算当前登录的用户数。 我尝试了很多东西,但其中 none 有效。

我试过的最后一个代码是:

def count_currently_logged_in(request):
    count = Profile.objects.filter(last_login__startswith=timezone.now() - timezone.timedelta(minutes=20)).count()
    return Response(count, status.HTTP_200_OK)

鉴于您的个人资料包含一个名为 last_loginDateTimeField(此处似乎是这种情况),您可以计算为:

from django.utils import timezone

def count_currently_logged_in(request):
    ago20m = timezone.now() - timezone.timedelta(minutes=20)
    count = Profile.objects.filter(<b>last_login__gte=ago20m</b>).count()
    return Response(count, status.HTTP_200_OK)

因此,我们过滤 Profiles 以仅保留 last_login 晚于 或刚好 20 分钟前的配置文件,我们计算这些配置文件。