Есть модель:
class A(models.Models):
price = models.DecimalField(decimal_places=2, max_digits=12, default=0, verbose_name='Цена')
stock = models.PositiveIntegerField(blank=True, default=0)
Мне нужно провернуть следующее.
Отсортировать по цене, но при этом, что бы элементы у которых stock = 0, были в конце списка.
Сделал так:
a = A.objects.all()
b = a.filter(stock__gt=0).order_by('-price')
c = a.filter(stock=0).order_by('-price')
x = set()
x.update(b)
x.update(c)
return list(x)
Только это не работает и элементы всё равно смешиваются в кучу. Как правильно решить эту задачу?