Django: Метод сохранения для сохранения всего 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)
Я написал метод сохранения для обновления амортизации для каждого года, когда пользователь вводит стоимость активов. Однако мне нужно также обновить модель particulars с амортизацией за каждый год. Я пытаюсь получить суммарную амортизацию каждого актива за каждый год и поместить ее в таблицу particulars. Есть ли способ сделать это?