Форум сайта python.su
Доброго времени суток!
Есть некая модель:
class ModelA(models.model):
field1=models.PositiveIntegerField(default=0)
field2=models.TextField(max_length=5000)
....
field35=models.asdfasds()
Офлайн
Попробуйте как-то так:
ModelA.objects.extra(select={'custom_order': "field1 > 0"}).order_by('-custom_order', 'field1')
Отредактировано alafin (Фев. 24, 2013 14:00:11)
Офлайн
Большое спасибо! Помогло.
Офлайн
А как такое же реализовать если в модели есть ForeignKey?
order_str = order+" > 0" transmit = models.tv_transmits.objects\ .values('id', 'othertable__id', 'othertable__title')\ .extra(select={'field': order_str}).order_by('-field',order)
Офлайн
Зачем здесь экстра? Штатными средствами всё решается.
Чего Вы сделать то хотите?
Офлайн
Как написано выше:
Dr.Livsi
Нужно сделать queryset, да такой, что бы сортировка была по возрастанию, но все строчки, где field1==0 - были в конце.
Отредактировано quadright (Окт. 8, 2013 11:18:04)
Офлайн