我有这个模型:
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
有什么技巧可以做到这一点
Foo.objects.all().order_by('get_dif')
吗?谢谢
最佳答案
查看 extra
Django 查询集运算符:
q = Foo.objects.extra(select={'dif': 'foo_old_prize - foo_new_prize'})
q = q.extra(order_by = ['dif'])
关于Django 模型 order_by 非数据库字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13122826/