Django:获取models.py中所有相关对象的列表

时间:2019-04-18 09:33:03

标签: python django django-models

这是一个愚蠢的问题,但是我是django的新手,到目前为止我还没有找到答案。

我试图在get_savings函数中获取所有相关年份的列表。 不要看“年”和“计划”的属性。它们都存在。
重点是For循环。我也尝试过for year in self.year_set.all:,但是也没有用。

models.py

class Plan(models.Model):
    title = models.CharField(max_length=50)
    ...

    @property
    def get_saving(self):
        delta: timedelta = now() - self.date_created
        months_gone = delta.days / 30
        saving = 0
        for year in Year.objects.all():
            if months_gone > year.months:
                saving = saving + year.savings_year
            else:
                saving = saving + months_gone * year.income_month
        return saving


class Year(models.Model):
    title = models.IntegerField()
    plan = models.ForeignKey(Plan, on_delete=models.CASCADE)

1 个答案:

答案 0 :(得分:1)

self.year_set.all()是您所需要的。

all是一个函数,因此您需要调用它,而不仅仅是引用它。