order_by date_join 在 Django 中

order_by date_join in Django

我正在向管理仪表板显示用户信息 我想按加入日期对用户进行排序。 在另一个页面上,我只想显示最近登录的 10 个用户信息。

我正在这样过滤用户数据:

data = Profile.objects.filter(Q(user__is_superuser=False), Q(user__is_staff=False))

Model.py

class Profile(models.Model):
user = models.OneToOneField(User,default="1", on_delete=models.CASCADE)   
image = models.ImageField(upload_to="images",default="default/user.png")
def __str__(self):
   return f'{self.user} profile'

请帮我做一下。

我假设您有某些字段,例如个人资料中的上次登录来跟踪登录历史

使用

user__last_login

现在您可以过滤为

data = Profile.objects.filter(Q(user__is_superuser=False), Q(user__is_staff=False)).order_by('-user__last_login')[:10]

user.last_login

您可以根据 last_login 字段对用户查询集进行排序,并在查询集

末尾使用 [:10] 获取前 10 个