Mutagena
Дек. 20, 2009 21:21:34
Подскажите, как выбрать все элементы из базы в обратной порядке. В djangobook описано, как применять обратную сортировку, только если выбираешь по определённому критерию, а как выбрать все записи непонятно.
Вот так я выбираю все записи:
post_list = Post.objects.all()
А как выбрать тоже самое, но в обратном порядке?
poltergeist
Дек. 20, 2009 21:28:37
Post.objects.all().order_by('-id')
dissdoc
Дек. 20, 2009 21:58:56
А если я не ошибаюсь можно проще))) Причем с подходом DRY
Добавить в модель подкласс
class Meta:
ordering = ('-id',)
Александр Кошелев
Дек. 20, 2009 22:18:58
dissdoc
А если я не ошибаюсь можно проще)))
А чем это проще?
dissdoc
Причем с подходом DRY
Причем тут DRY?
Вообще, ради одного юзкейса менять поведение всей системы глупо.
Mutagena
Дек. 20, 2009 22:24:18
Daevaorn, в моём случае это подошло, так как когда выбираю данные из этой таблицы, их всегда нужно выбирать в обратном порядке.
Александр Кошелев
Дек. 20, 2009 22:32:33
Mutagena
Daevaorn, в моём случае это подошло, так как когда выбираю данные из этой таблицы, их всегда нужно выбирать в обратном порядке.
Ок. Только хочу предупредить, что
poltergeist
Post.objects.all().order_by('-id')
не дает обратный порядок относительно
Mutagena
Post.objects.all()
т.к. порядок в общем случае
не определен в исходном варианте.
tezro
Дек. 21, 2009 00:13:19
Mutagena
Подскажите, как выбрать все элементы из базы в обратной порядке. В djangobook описано, как применять обратную сортировку, только если выбираешь по определённому критерию, а как выбрать все записи непонятно.
Вот так я выбираю все записи:
post_list = Post.objects.all()
А как выбрать тоже самое, но в обратном порядке?
http://docs.djangoproject.com/en/dev/ref/models/querysets/#reversepost_list = Post.objects.all().reverse()
Сортировать по “-id” неправильно. А если сортировка идёт по другому PrimaryKey или в Мета другая сортировка?
Post.objects.all().order_by('-pk') хотя бы…
Александр Кошелев
Дек. 21, 2009 00:59:29
tezro
reverse работает только если сортировка указана явно или дефолтом в моделе.
tezro
Дек. 21, 2009 01:24:58
DaevaornMutagena
Подскажите, как выбрать все элементы из базы в обратной порядке.
post_list = Post.objects.all() - в дефолтном порядке
post_list = Post.objects.all().reverse() - в обратном.
Вроде это и есть задача. Сортировка по PK или другому полю, вроде уже другое решение.