Умножение в django в django
Как умножить два числа в бюджетной модели, например, я хочу умножить часы работы и ставку за час ... Затем я добавляю эту цифру к общей стоимости всего ... Пожалуйста, помогите
from django.db import models from django.contrib.auth.models import User from .directors import Directors
class ApprovedBudget(models.Model): job=models.CharField(max_length=255) time=models.DateTimeField() labourhours=models.IntegerField() rate=models.DecimalField(max_digits=9, decimal_places=2) materials=models. DecimalField(max_digits=9, decimal_places=2) travel=models.DecimalField(max_digits=9, decimal_places=2) other=models.DecimalField(max_digits=9, decimal_places=2) notes=models. CharField(max_length=450) budget=models.DecimalField(max_digits=9, decimal_places=2) actual=models.DecimalField(max_digits=9, decimal_places=2) undercover=models. DecimalField(max_digits=9, decimal_places=2) status = models.CharField(max_length=12,default='pending') #pending,approved,rejected,cancelled is_approved = models.BooleanField(default=False) #hide
updated = models.DateTimeField(auto_now=True, auto_now_add=False) created = models.DateTimeField(auto_now=False, auto_now_add=True)
objects = Directors()
def str(self): return str(self.job)
класс Meta: verbose_name = (ApprovedBudget) verbose_name_plural = ('ApprovedBudget')
@property def labor(self): if(self.laborhours != None ): labor=self.laborhours*self.rate return labor
enter code here
Вы можете сделать это, переопределив save()
метод модели следующим образом
def save(self, *args, **kwargs):
if(self.labourhours != None ):
self.labour=self.labourhours*self.rate
super(ApprovedBudget, self).save(*args, **kwargs)