I have this model:
class Foo(models.Model):
foo_id = models.IntegerField()
foo_old_prize = models.FloatField()
foo_new_prize = models.FloatField()
def get_dif(self):
return self.foo_old_prize - self.foo_new_prize
Is there some trick how to do this Foo.objects.all().order_by('get_dif') ?
Thx
Look into the extra Django queryset operator:
q = Foo.objects.extra(select={'dif': 'foo_old_prize - foo_new_prize'})
q = q.extra(order_by = ['dif'])
You can use extra for this:
Foo.objects.extra(
select={'diff':'foo_old_prize - foo_new_prize'},
order_by=('diff',)
)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With