Использовать метод в качестве статистического поля

У меня есть две модели, которые работают следующим образом (для простоты):

class Bank(models.Model):
    name = models.CharField(max_length=250)


class Person(models.Model):
    bank = models.ForeignKey(Bank)
    savings = models.IntegerField()
    debts = models.IntegerField()

    def get_net_worth(self):
        return self.savings - self.debts

И я хочу написать метод, который позволит мне узнать «общий собственный капитал» людей в банке, например:

class Bank(models.Model):
    ...
    def get_net_worth(self):
        return self.person_set.all().aggregate(Sum('get_net_worth'))

Но, конечно же, Django жалуется, что такого поля не существует:

django.core.exceptions.FieldError: Не удается преобразовать ключевое слово «get_net_worth» в поле.

Есть ли способ добиться этого без необходимости явно хранить «собственную стоимость» в базе данных?

Изменить:

Если вам интересно, можно просто сделать

def get_net_worth(self):
    person_queryset = self.person_set.all()
    return person_queryset.aggregate(Sum('savings'))['savings__sum'] - person_queryset.aggregate(Sum('debts'))['debts__sum']

Но мне нужно каким-то образом использовать метод get_net_worth для каждого "Человека".

Редактировать 2:

Просто чтобы прояснить ситуацию: эти две модели не являются моими реальными моделями, они являются чрезмерно упрощенными примерами того, чего я хочу достичь, и что я, по сути, хочу сделать НЕ выполнять арифметические действия между двумя полями, а скорее используйте метод модели в качестве поля для агрегатной функции (конечно, метод может выполнять более сложные действия, прежде чем возвращать значение), поэтому этот вопрос не является дубликатом другого вопроса.


person arielnmz    schedule 06.07.2016    source источник
comment
Не по теме, но мне любопытно, есть ли причина, по которой сбережения и долги используют целые числа?   -  person Sayse    schedule 06.07.2016
comment
Я написал классы только для того, чтобы проиллюстрировать проблему, это не настоящие модели.   -  person arielnmz    schedule 06.07.2016
comment
Кстати, это было бы возможно в SQLAlchemy, обвините Django в том, что он не сделал свой уровень ORM подключаемым.   -  person Antti Haapala    schedule 06.07.2016
comment
Вероятно, это связано с: stackoverflow.com/questions/24289003/   -  person FallenAngel    schedule 12.07.2016