Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » КАК НАПИСАТЬ ORDER_BY POSITION=0, POSITION НА DJANGO ORM ? [RSS Feed]

#1 Июль 5, 2012 16:00:49

martin67
От:
Зарегистрирован: 2011-10-20
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

КАК НАПИСАТЬ ORDER_BY POSITION=0, POSITION НА DJANGO ORM ?

Очень банальная задача, но я туплю.

Есть список объектов из базы отсортированных по позиции (position) которая по-умолчанию = 0.
Как отсортировать по позиции, чтобы с position=0 были в конце?

То есть на SQL это вот так:

SELECT * FROM `catalog` ORDER BY position=0, position

Получиться
1
2
3

10
11
0
0
0


А как это реализовать на Django ORM? .order_by('position=0', ‘position’) не работает.



Офлайн

#2 Июль 5, 2012 17:53:36

martin67
От:
Зарегистрирован: 2011-10-20
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

КАК НАПИСАТЬ ORDER_BY POSITION=0, POSITION НА DJANGO ORM ?

сделал с помощью extra:

.extra(select={'poz' : ‘position=0’}).order_by('poz', ‘position’)



Офлайн

  • Начало
  • » Django
  • » КАК НАПИСАТЬ ORDER_BY POSITION=0, POSITION НА DJANGO ORM ?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version