我使用了通用视图。每个插曲都通过ForeignKey与某个季节关联。在views.py中,我有这些:
class SeasonList(generic.ListView):
template_name = 'episodes/episodes.html'
context_object_name = 'all_seasons'
def get_queryset(self):
return reversed(Season.objects.all())
# Here I need to sort the episodes
class SeasonDetails(generic.DetailView):
model = Season
template_name = 'episodes/season_details.html'
在列表视图中,我使用reversed()首先显示了最新季节。同样,在详细视图中,我希望这些情节以降序显示,因为最新的情节应该出现在页面顶部。
在我的html中,我已经使用season.episode_set.all
访问了剧集列表 {% for episode in season.episode_set.all %}
<!-- the tags to show the list -->
{% endfor %}
有什么办法可以使剧集列表反转吗?
答案 0 :(得分:1)
您可以根据需要id
进行订购,并根据需要使用后裔-
或后裔
Season.objects.all().order("id") # Ascendant
Season.objects.all().order("-id") # Decendant
也可以使用reverse()
来逆向查询集,无论使用哪种过滤器。
Season.objects.all().reverse()
答案 1 :(得分:0)
要对剧集进行排序,您可以使用这样的东西 -
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['episodes'] = Episodes.objects.all().order_by('-date_posted')
return context