django模板中按日期排序错误

时间:2011-03-21 01:50:03

标签: django django-templates

我得到一个像这样的对象列表

return Post.objects.filter(categoria=categoria)

我将其发送到模板。我在模板中显示它们

{% for p in posts reversed %}

这样我就可以获得最新的帖子了。它有99%的时间可以正常工作,但随机失败,它会显示一些较旧帖子下面的最后一篇文章。日期是正确的,最后一篇文章显示它有最新的日期,但它出现在其他一些较旧的帖子下面。

当它失败时没有什么特别的事情,我想它可能是一些模糊的django错误。

关于可能导致这种情况的任何想法?

2 个答案:

答案 0 :(得分:14)

如果您希望每次查询模型时都不必使用.order_by(...),请使用ordering Meta选项:

class Post(Model):
    # your fields here
    the_date = DateTimeField(...)

    class Meta:
        # sort by "the date" in descending order unless
        # overridden in the query with order_by()
        ordering = ['-the_date']

答案 1 :(得分:0)

在获取对象时包含order_by似乎可以解决问题。