python - Django 从模型字段计算平均值并存储在另一个模型中
问题描述
我有一个模型,我至少持有 3 个分数,但将来可能会持有更多。分数可以为空白或包含一个值,这意味着不同的学校可以有不同的条目数。
我的挑战是我希望有一个基于上述分数的函数的字段,这样我就可以根据我的观点调用它,而不必每次都计算它。
我试图找到最好的方法来确保每次更新一个贡献分数时计算和保存主要分数,但只有这样。
class Marks(models.Model):
school = models.ForeignKey(School, null=True, on_delete=models.SET_NULL)
marks_2016 = models.DecimalField(name='2016 Marks', max_digits=12, decimal_places=3, blank=True, null=True)
marks_2017 = models.DecimalField(name='2017 Marks', max_digits=12, decimal_places=3, blank=True, null=True)
marks_2018 = models.DecimalField(name='2018 Marks', max_digits=12, decimal_places=3, blank=True, null=True)
def __str__(self):
return self.school.name
class Score(models.Model):
school = models.ForeignKey(School, null=True, on_delete=models.SET_NULL)
score = models.DecimalField(max_digits=5, decimal_places=2)
def __str__(self):
return self.school
解决方案
推荐阅读
- java - XMLUnit-2.0 xpath 不会忽略 XML 节点顺序
- blockchain - 从 r3 corda 应用程序从 v4.3 逐步升级到 4.4
- javascript - 执行块后捕获 Firebase 创建用户错误
- kubernetes - 为什么我的 MongoDB 部署会破坏 minikube(E0413,空 IP)?
- elasticsearch - 如何使用除“_id”之外的任何其他键批量更新弹性搜索文档?
- android - 如何自定义 Android BLE(蓝牙低功耗)gatt 传输速度?
- confluence - confluence wiki API 删除附件
- c++ - 从 string 到 const wchar_t* 的类型转换。类型不匹配
- java - Spring @Component 创建顺序
- reactjs - 在客户端和服务器之间共享 GraphQL 模式