[英]How to sort QuerySet with property field Django
I have a model as 我有一个模特
class FooModel(models.Model):
field_1 = models.IntegerField()
field_2 = models.IntegerField()
@property
def field_sum(self):
return self.field_1 + self.field_2
How can I sort the queryset with field_sum
field? 如何使用field_sum
字段对查询集进行排序?
FooModel.objects.all().order_by('field_sum')
is giving me error. FooModel.objects.all().order_by('field_sum')
给我错误。 Thanks in advance 提前致谢
Use F()
expression along with annotate()
as below, 使用F()
表达式和annotate()
如下所示,
from django.db.models.expressions import F
FooModel.objects.annotate(field_sum_new=F('field_1') + F('field_2')).order_by('field_sum_new')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.