【发布时间】:2021-12-30 09:24:18
【问题描述】:
我如何在预算模型中将两个数字相乘,例如,我想将工时和每小时费率相乘...然后将该数字添加到所有项目的总成本中...请帮助
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()
class Meta:
verbose_name = (ApprovedBudget)
verbose_name_plural = ('ApprovedBudget')
def __str__(self):
return str(self.job)
@property
def labour(self):
if(self.labourhours != None ):
labour=self.labourhours*self.rate
return labour
【问题讨论】:
-
提供的代码看起来正确是什么问题
-
我没有在管理员中看到显示工时乘以费率的计算结果的变化,当我尝试在过滤器中添加劳动力时,它说它不可调用
-
你好@TamieClayton 检查我的答案,如果有错误请告诉我。
标签: django activerecord-calculations