Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 工资计算器,我想在Django开发_Python - Fatal编程技术网

Python 工资计算器,我想在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

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

    
班级工资(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它没有传输,因为您只是将代码粘贴到类中,而不是函数中,然后它与任何模型实例都不相关。它没有传输,因为您只是将代码粘贴到类中,而不是函数中,然后它也与任何模型实例都不相关