【发布时间】:2021-03-17 02:54:25
【问题描述】:
我在 Django 中有一个 Post 模型,如下所示:
class Post(models.Model):
post = models.TextField()
user = models.ForeignKey(User, on_delete=models.CASCADE)
timestamp = models.DateTimeField(auto_now=True)
我想对每个用户每天的帖子进行排序和显示。因此,如果一个用户在周一发布了 20 个帖子,另一个用户在周二发布了 15 个帖子,在周三发布了 4 个帖子,那么它们将被组合在一起并显示。我不需要每个用户或每天的帖子总数,只需将用户每天发布的所有帖子分开以将它们一起显示。
示例(希望显示在一页上): 星期一:用户 1:post1、post2、post2。用户 2:post1、post2、post3、post4、post5。星期二:用户 2:post1、post2、post3。 user3: post1, post 2....所有帖子和用户
我试过posts = Post.objects.all().order_by('-timestamp','user') 它会显示所有帖子,但我不知道如何按用户每天对帖子进行分组。
【问题讨论】:
-
试试这个:
posts = Post.objects.all().order_by('-timestamp','user').distinct()
标签: python django date datetime