工资计算器,我想在Django开发

2024-09-30 01:18:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在我的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)

    

Tags: selfdefault表单modelsfloatlengthpaymax

热门问题