我得到的对象的列表这样错误的顺序按日期在Django模板
return Post.objects.filter(categoria=categoria)
而且我发送到模板。我将它们显示在这样的模板中
{% for p in posts reversed %}
这样我就可以获得最新的帖子。它可以像99%的时间那样工作,但它会随机失败,因为它会显示某个旧帖子下面的最后一个帖子。日期是正确的,最后的帖子显示它有最近的日期,但它出现在其他一些较旧的帖子下面。
没有什么特别的,当它失败时,我想这可能是一些晦涩的Django错误。
有关可能导致此问题的任何想法?
我不是很惊讶,订货固定您的订购问题? :) – 2011-03-21 02:16:52
没有它,它对我来说依然没有任何意义。 – madprops 2011-03-21 03:57:09
如果没有明确的排序,无论是在查询中还是在模型定义中,“Post”对象都会以数据库返回它们的顺序出现,除非数据库按特定顺序显式返回查询行,否则这些对象通常是未定义的。因此,如果订单很重要,则应始终使用明确的“排序”或“order_by(...)”。 – dcrosta 2011-03-21 12:33:17