【发布时间】:2021-12-31 23:19:47
【问题描述】:
早上好!
我尝试了很多方法,但无法按喜欢和日期订购我的帖子。例如,我希望有一个“热门帖子”页面,其中仅包含今天的帖子,但按最喜欢的排序。
这是我的模型:
Class Post(models.Model):
name = models.CharField(max_length=40, default=None, null=False)
cover = models.CharField(max_length=100, default=None, null=True, blank=True)
content = models.TextField(max_length=2000, default=None, null=False)
class VoteDate(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE)
date = models.DateTimeField(default=timezone.now)
我最接近但没有工作的是这一行:
hot_today = Post.objects.annotate(count=Count('votedate', filter=Q(votedate__date=datetime.today()))).order_by('count')[:30]
感谢您的帮助!
【问题讨论】:
-
字段名称前加
-,从高到低排序:order_by('-count')
标签: python django database django-models count