如何在Django模型中使用get函数作为字段?

时间:2019-12-18 19:30:48

标签: django django-models

我有一个像这样的模型A:

class A(models.Model):

     ...
     ...

     def get_total(self):
          return (self.item_set.total - self.discount) # This returns a integer

我可以使用object.get_total()函数来访问它。但是我想将此功能用作字段名称。像这样的东西

A.objects.aggregate(Sum(get_total()))  # not working
A.objects.values_list('get_total()') # not working

我怎样才能将该函数称为这样的字段?

1 个答案:

答案 0 :(得分:0)

您可以使用F expressions在数据库中执行操作:

例如:

A.objects.aggregate(sum=Sum(F('item_set__total')-F('discount')))