如何在另一个@property中迭代或访问相关模型的@property?

时间:2019-01-20 05:06:46

标签: django django-rest-framework

我想从相关模型返回一个字段的总和(带有@property),它本身是相同类型的总和(再次使用@property)。我遇到一个问题,即在ExpenseCategory模型中创建的Queryset是不可迭代的,或者“ total_amount”不是相关模型中的字段(这是可以理解的)。我应该如何处理?

class ExpenseCategory(models.Model):
    name = models.CharField(max_length=255, blank=False)

    @property
    def total_amount(self):
        expenses = self.category_expenses.all()
        return expenses.aggregate(Sum('total_amount'))

class ExpenseLineItem(models.Model):
    category = models.ForeignKey(ExpenseCategory, related_name='category_expenses')
    amount = models.DecimalField(max_digits=20, decimal_places=2, blank=True, default=0)

    @property
    def total_amount(self):
        return self.amount

0 个答案:

没有答案