如何使用example.example\u set.all在Django模板顶部显示最新帖子

如何使用example.example\u set.all在Django模板顶部显示最新帖子,django,python-3.x,django-templates,django-views,Django,Python 3.x,Django Templates,Django Views,我正在尝试在配置文件中显示所有post信息,并使用下面的命令在模板中作为模板标记进行显示 {% for letter in user.letter_set.all %} view.py中的配置文件视图代码 class UserProfilePage(DetailView): template_name = 'profile.html' model = Profile def get_object(self): username = self.kwarg

我正在尝试在配置文件中显示所有post信息,并使用下面的命令在模板中作为模板标记进行显示

{% for letter in user.letter_set.all %}
view.py中的配置文件视图代码

class UserProfilePage(DetailView):
    template_name = 'profile.html'
    model = Profile

    def get_object(self):
        username = self.kwargs.get("username")
        if username is None:
            raise Http404
        return get_object_or_404(User, username__iexact=username, is_active=True)

它正在工作,但我需要在顶部显示最新的帖子。请告诉我怎么做。我想我必须对模板标签做一些更改。
TIA

如果我理解正确,您需要订购信件,从最新到最旧。如果您正在查找,请在Letter model的Meta class中添加ordering字段,如下所示:

类字母(models.Model):
...
其他一些领域
...
日期=型号。日期时间字段(…)
类元:
排序=['-日期']
日期之前的“-”字段(或在模型中保留日期的其他日期字段)告诉Django显示从最新日期开始的字母实例


其他代码将在不做任何更改的情况下有效。

那么如何存储
字母
对象呢?是否要按特殊字段订购,例如
posted\u on
?或者你只需要反向id排序?两个选项。查看prefetch_related,您可以添加自定义查询集,以便对数据进行排序。或者你可以在你的信件模型中添加一个默认的顺序,见meta类。谢谢:)我现在就知道了。