неправильный порядок по дате в шаблоне Django - PullRequest
3 голосов
/ 21 марта 2011

Я получаю список таких объектов

return Post.objects.filter(categoria=categoria)

И отправляю это в шаблон.Я отображаю их в шаблоне так:

{% for p in posts reversed %}

Таким образом, я получаю новые сообщения сверху.Это работает так в 99% случаев, но происходит случайным образом, если будет отображаться последнее сообщение ниже какого-то более старого сообщения.Даты верны, последнее сообщение показывает, что у него самая свежая дата, но оно появляется под некоторым другим более старым сообщением.

Ничего особенного не делается, когда оно терпит неудачу, я думаю, что это может быть какая-то неясная ошибка django,

Есть идеи о том, что может быть причиной этого?

Ответы [ 2 ]

14 голосов
/ 21 марта 2011

Если вы не хотите использовать .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']
0 голосов
/ 21 марта 2011

Включение order_by при получении объектов, похоже, решает проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...