如何使用example.example\u set.all在Django模板顶部显示最新帖子
我正在尝试在配置文件中显示所有post信息,并使用下面的命令在模板中作为模板标记进行显示如何使用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
{% 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类。谢谢:)我现在就知道了。