python - Django:获取models.py中所有相关对象的列表
问题描述
这是一个愚蠢的问题,但我是 django 的新手,到目前为止我还没有找到答案。
我试图在 get_savings 函数中获取所有相关年份的列表。不要看 Year 和 Plan 的属性。它们都存在。
重点是 For 循环。我也试过for year in self.year_set.all:
,但也没有用。
模型.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)
解决方案
self.year_set.all()
是你需要的。
all 是一个函数,因此您需要调用它而不仅仅是引用它。
推荐阅读
- git - 尝试将代码推送到 GitHub Online 上的特定分支
- excel - 表问题中的动态超链接
- python - 带有mysql的Tensorflow Python 3 Docker Image无法安装
- sql - 通过分组计算列中唯一值的出现次数并在结果中引入其他列而不分组
- typescript - 如何告诉 TypeScript 接口 T 比具有索引签名的类型 U 窄?
- sql - SQL - 选择每个平台上至少有一个副本的主 ID
- python - 将自定义 CLI 命令映射到 Python 脚本
- swift - 使用 MVVM 模式处理 SwiftUI 和 CoreLocation
- react-admin - 如何在 react admin v3.1 上捕获用户登录成功?
- android - 方向改变时Android工具栏弹出菜单WindowLeaked