【发布时间】:2018-04-18 17:17:10
【问题描述】:
我想通过我的公式计算员工的工资
total_salary = (time_out - time_in )*base_salary + (time_out - 8PM)*base_salary*0.20
这是我的模型:
class salary(models.Model):
empname = models.ForeignKey('employee1',default='0',on_delete=models.CASCADE)
base_salary = models.IntegerField(default='0', help_text="Base Salary")
time_in = models.DateTimeField(default=datetime.now, blank=True)
time_out = models.DateTimeField(default=datetime.now, blank=True)
total_salary = models.CharField(max_length=20,default='0',blank=True,editable=False)
def default_over_time():
now = datetime.now()
start = now.replace(hour=8, minute=0, second=0, microsecond=0)
return start if start > now else start + timedelta(days=1)
def save(self,*args,**kwargs):
self.total_salary=(self.time_out - self.time_in)
self.total_salary=(self.time_out - self.time_in )* self.base_salary + (self.time_out - self.default_over_time) * self.base_salary*0.20
self.total_salary=str(self.total_salary)
super(salary,self).save(*args,**kwargs)
【问题讨论】:
-
类是什么意思?你想在视图中看到它吗?或者你想要它在模型本身?还请妥善安排您的代码。如果您正在寻找自定义模型字段,那么stackoverflow.com/questions/28529179/…
-
@py-D 我已经安排好了我的代码。我想用我的公式计算薪水 --> total_salary=(time_out - time_in )* base_salary + (time_out - 8PM) * base_salary*0.20
-
类是什么意思?你想在视图中看到它吗?或者你想在模型本身中使用它?
-
@py-D 模型本身
-
okz,这意味着您必须覆盖 django 模型保存方法。所以参考这个stackoverflow.com/questions/4269605/…
标签: django django-models