我试图在我的Django模型中创建一个工资计算器。但是,该计算无法迁移,并且一直显示错误。 我如何让它工作。创建一个表单,在该表单中,您只需输入工作人员的工资总额,其余的扣减和其他计算将自动完成
class Salary(models.Model):
staff = models.ForeignKey('Staff', on_delete=models.CASCADE)
pay = models.CharField(default=0)
Gross_pay = models.CharField(max_length=20, default='0')
PAYE= models.CharField(max_length=20, default='0')
NSSF= models.CharField(max_length=20, default='0')
netpay = models.CharField(max_length=20, default='0')
def __str__(self):
return self.netpay
if pay < 235000:
nssf = (pay * 0.05)
E_Cont = (pay * 0.1)
paye1 = 0
gratuity= float(pay * 0.3)
deductions = (nssf + paye1)
netpay = (pay - deductions)
elif 235000 <= pay <= 335000:
nssf = (pay * 0.05)
E_Cont = (pay * 0.1)
paye2 = (0.1 * pay)
gratuity= float((pay - 235000) * 0.3)
deductions = (nssf + paye2)
netpay = (pay - deductions)
elif 335000 <= pay <= 410000:
nssf = (pay * 0.05)
E_Cont = (pay * 0.1)
paye3 = (10000 + (0.2 * pay))
gratuity=float((pay-335000) * 0.3)
deductions = (nssf + paye3)
netpay = (pay - deductions)
elif 410000 <= pay <= 10000000:
nssf = (pay * 0.05)
E_Cont = (pay * 0.1)
paye4 = (25000 + (0.3 * (pay - 410000)))
gratuity = float(pay * 0.1)
deductions = (nssf + paye4)
netpay = (pay - deductions)
elif pay > 10000000:
nssf = (pay * 0.05)
E_Cont = (pay * 0.1)
paye5 = ((25000 + (0.3 * (pay-410000))) + (0.1*(pay - 10000000)))
gratuity = float(pay * 0.1)
deductions = (nssf + paye5)
netpay =(pay - deductions)
目前没有回答
相关问题 更多 >
编程相关推荐