[英]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.