我有一个行蟒蛇:如何添加用于排序Django模型的异常?
streams = Stream.objects.filter(info__isnull = False)\
.order_by('-score', 'info__title')
我喂的是一个的RequestContext
c = RequestContext(request, {
'online_streams': streams.filter(online = True),
'offline_streams': streams.filter(online = False)
})
它各种各样的表格〜50行通过自己的分数和标题。这很好,但有一排我想总是顶一下。简单地提取它并将其从上面的行中过滤出来,然后单独提供给RequestContext将不起作用,因为我不得不修改模板。此外,我可能会更改哪一行应该在最后,或者可能会改为多行。
是否有一个过滤器参数,我可以插入说行“东西排序所有行,除了行ID 8,应该永远是顶部”?或者我可以在过滤后手动更改QuerySet的顺序?
感谢您的任何建议
修改模板有什么问题?你试图做一些破解,为什么不正确?所以任何看着你的代码的人(包括你)都会明白发生了什么,为什么。 – DrTyrsa
当然,我不能在我的情况下更改模板。它的工作是显示它交给的行。有一行或多行卡在顶端是一个短暂的事情,它不会总是这样。每次改变时编辑模板都很愚蠢。 – Hubro
编辑模板很愚蠢,编辑视图/模型/管理器不是很愚蠢?好。编辑视图和模板更容易,更快,更清晰。但是如果你有很多时间来发明奇怪的黑客,为什么不呢。 :-) – DrTyrsa