我有两个模型页面和帖子,其中页面可以有多个帖子。用户每天将使用同一URL共享多篇帖子。因此,我需要每天获得最共享的URL及其在当前一天的帖子的提要。有没有办法在Django ORM中做到这一点?
class Page(models.Model):
url = models.URLField()
class Post(models.Model):
page = models.ForeignKey(âPage', on_delete=models.DO_NOTHING, null=True, blank=True, related_name='posts')
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
我最终得到了一个分享最多的URL,但现在我想不出如何获取所有相关帖子并按其排序
created_at
Post.objects.filter(created_at__date=date.today()).values('page__id').annotate(num_shares=Count('page__id')).order_by('-num_shares')
<PostQuerySet [{'page__id': 2, 'num_shares': 6}, {'page__id': 1, 'num_shares': 5}]>