django - Django:Save方法在另一个模型中保存总共3行
问题描述
我有2个模型如下:
class particulars(models.Model):
reportref = models.ForeignKey(reportname,on_delete=models.CASCADE)
year = models.CharField(max_length=250)
sales = models.FloatField(blank=True,null=True,default=0)
profit = models.FloatField(blank=True,null=True,default=0)
def save(self, *args, **kwargs):
self.profit = round((self.sales-self.depreciation),2)
super(particulars, self).save(*args, **kwargs)
def __str__(self):
return str(self.year)
class depreciation(models.Model):
reportn = models.ForeignKey(reportname,on_delete=models.CASCADE)
asset = models.CharField(max_length=250)
cost = models.FloatField(blank=True,null=True,default=0)
rate = models.FloatField(blank=True,null=True,default=10)
depreciation_1 = models.FloatField(blank=True,null=True)
wdv1 = models.FloatField(blank=True,null=True)
depreciation_2 = models.FloatField(blank=True,null=True)
wdv2 = models.FloatField(blank=True,null=True)
depreciation_3 = models.FloatField(blank=True,null=True)
wdv3 = models.FloatField(blank=True,null=True)
depreciation_4 = models.FloatField(blank=True,null=True)
wdv4 = models.FloatField(blank=True,null=True)
depreciation_5 = models.FloatField(blank=True,null=True)
wdv5 = models.FloatField(blank=True,null=True)
def save(self, *args, **kwargs):
self.depreciation_1 = round((self.cost*self.rate/100),2)
self.wdv1 = round((self.cost-self.depreciation_1),2)
self.depreciation_2 = round((self.wdv1*self.rate/100),2)
self.wdv2 = round((self.wdv1-self.depreciation_2),2)
self.depreciation_3 = round((self.wdv2*self.rate/100),2)
self.wdv3 = round((self.wdv2-self.depreciation_3),2)
self.depreciation_4 = round((self.wdv3*self.rate/100),2)
self.wdv4 = round((self.wdv3-self.depreciation_4),2)
self.depreciation_5 = round((self.wdv4*self.rate/100),2)
self.wdv5 = round((self.wdv4-self.depreciation_5),2)
super(depreciation, self).save(*args, **kwargs)
def __str__(self):
return str(self.asset)
每当用户投入资产成本时,我已经编写了 save 方法来更新每年的折旧。但是,我还需要更新具有每年折旧的详细信息模型。我想要得到的是每年每项资产的折旧总额,并将其放在明细表中。有什么办法吗?
解决方案
推荐阅读
- javascript - Angular 8:在不使用构造函数的情况下将服务实例获取到另一个服务
- c - SQLite的C API中关于指针的问题
- java - 使用缓存创建 guice 提供程序
- kotlin - Kotlin 高阶函数,用于将函数传递给映射
- sql - 创建一个程序来给员工奖金
- ios14 - 关于 PencilKit 的 iOS14
- javascript - 如何使自定义音频播放器播放在线托管的歌曲
- python - TypeError:“函数”对象不可下标。当错误线工作时?
- android-studio - Android Studio以错误的编码显示所有文件的代码
- html - 如何将表单发送到带有 ID 路由的 URL