我有一个使用此 python 函数创建的对象“帖子”列表,我需要按时间戳属性对该列表进行排序。
def following(request):
posts=[]
follows=Follow.objects.all()
for follow in follows:
if follow.follower==request.user:
posts_user=Post.objects.filter(user=follow.user)
for post in posts_user:
posts.append(post)
return render(request, "network/following.html",{
"posts":posts
})
如果这是一个 QuerySet,我将使用此函数进行排序:
posts = posts.order_by("-timestamp").all()
但这是一个列表,所以我不能使用这个函数,它给了我这个错误:
'list' object has no attribute 'order_by'
如何按时间戳对此列表进行排序,以便最新的帖子位于第一个?
这是 models.py 中的 Post 类
class Post(models.Model):
user = models.ForeignKey("User", on_delete=models.CASCADE, related_name="user_post")
text=models.TextField(blank=True)
timestamp = models.DateTimeField(auto_now_add=True)
likes=models.IntegerField(default=0)
我的想法是将列表转换为查询集,但我不知道该怎么做。谢谢你!
PIPIONE
相关分类