これがうまくいくはずだと私は理解しています...
def _balance(self):
aggregates = self.transactions.aggregate(sum=Sum('amount'))
sum = aggregates['sum']
return D('0') if sum is None else sum
しかし、次のエラーが発生します:'Account'オブジェクトには属性'transactions'がありません
モデルトランザクションに関連する名前トランザクションを設定しています。以下の私のモデルを参照してください
class Account(models.Model):
OPEN, FROZEN, CLOSED = 'Open', 'Frozen', 'Closed'
status = models.CharField(max_length=32, default=OPEN)
# For performance, we keep a cached balance
balance = models.DecimalField(decimal_places=5, max_digits=10,
default=D('0'), null=True)
#FK
user = models.OneToOneField(User)
def _balance(self):
aggregates = self.transactions.aggregate(sum=Sum('amount'))
sum = aggregates['sum']
return D('0') if sum is None else sum
class Transaction(models.Model):
account = models.ForeignKey('Account',
related_name='transactions')
モデル関数が機能しない理由は何ですか?
ありがとうございました。