繁体   English   中英

如何在 Django 中获取 10 个最近创建的配置文件?

[英]How to grab 10 most recently created profiles in django?

好吧,我想显示最近创建的配置文件,但我不明白如何通过查询集获取它们。 如果需要更多信息而不是告诉我,我将添加一些信息,我将使用该信息更新我的答案

模型.py

class UserProfile(models.Model):

    user = models.OneToOneField(User, on_delete=models.CASCADE)
    follower = models.ManyToManyField(User, related_name ='is_following',blank=True,)
    avatar = models.ImageField(("Avatar"), upload_to='displays', default = '1.jpg',height_field=None, width_field=None, max_length=None,blank = True)
    create_date = models.DateField(auto_now_add=True,null=True)
   
    objects = ProfileManager()


    class ProfileManager(models.Manager):
    def top_profile(self):
        top_profile = self.get_queryset().get(user=self.request.user)
        qs = UserProfile.objects.filter(
                                user=top_profile
                                ).order_by('-create_date')[:10]
        return top_profile
class ProfileManager(models.Manager):
  def most_recent(self):
    return self.get_queryset().order_by('-id')[:10]

或者,您可以将created_at字段添加到UserProfile

class UserProfile(models.Model):
  ...
  created_at = models.DateTimeField(auto_now_add=True)

class ProfileManager(models.Manager):
  def most_recent(self):
    return self.get_queryset().order_by('-created_at')[:10]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM