我在Django中编写了自己的计费软件。在那我有一个名为票据的模型。每张账单都有价格。现在我想给账单模型一个函数,它将所有先前账单和当前账单的价格值相加。这个功能是为了给我一些我到目前为止赚了多少。
但是每当我尝试实现它时,我遇到的问题是我不能在自己的定义中使用bill类。
向我的账单类添加功能以获取所有账单对象(包括当前账单对象)并将价格值相加的最佳方法是什么?
答案 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())