Python 工资计算器,我想在Django开发
我试图在我的Django模型中创建一个工资计算器。但是,该计算无法迁移,并且一直显示错误。 我如何让它工作。创建一个表单,在该表单中,您只需输入工作人员的工资总额,其余的扣减和其他计算将自动完成Python 工资计算器,我想在Django开发,python,Python,我试图在我的Django模型中创建一个工资计算器。但是,该计算无法迁移,并且一直显示错误。 我如何让它工作。创建一个表单,在该表单中,您只需输入工作人员的工资总额,其余的扣减和其他计算将自动完成 class Salary(models.Model): staff = models.ForeignKey('Staff', on_delete=models.CASCADE) pay = models.CharField(default=0) Gross_pay = model
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)
班级工资(models.Model):
staff=models.ForeignKey('staff',on_delete=models.CASCADE)
pay=models.CharField(默认值=0)
Gross_pay=models.CharField(最大长度=20,默认值为0)
PAYE=models.CharField(最大长度=20,默认值为0)
NSSF=models.CharField(最大长度=20,默认值=0')
netpay=models.CharField(最大长度=20,默认值为0)
定义(自我):
返回self.netpay
如果工资<235000:
全国社保基金=(工资*0.05)
E_Cont=(工资*0.1)
paye1=0
小费=浮动(工资*0.3)
扣除额=(全国社保基金+付款人1)
净支付=(支付-扣减)
elif 235000它没有传输,因为您只是将代码粘贴到类中,而不是函数中,然后它与任何模型实例都不相关。它没有传输,因为您只是将代码粘贴到类中,而不是函数中,然后它也与任何模型实例都不相关