如何在Django中获得同一类的先前对象的总值?

时间:2013-12-27 23:33:39

标签: python django

我在Django中编写了自己的计费软件。在那我有一个名为票据的模型。每张账单都有价格。现在我想给账单模型一个函数,它将所有先前账单和当前账单的价格值相加。这个功能是为了给我一些我到目前为止赚了多少。

但是每当我尝试实现它时,我遇到的问题是我不能在自己的定义中使用bill类。

向我的账单类添加功能以获取所有账单对象(包括当前账单对象)并将价格值相加的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

我感觉到我误解了一些东西,但你为什么不这样做呢?

class Bill(models.Model):
    due_date = models.DateField()
    price = models.IntegerField()
    paid = models.BooleanField()

    def get_previous_bills(self):
        return Bill.objects.filter(due_date__lte=timezone.now(), paid=True)

    def get_total_price(self):
        return sum(p.price for p in self.get_previous_bills())