Django создание новой записи при обновлении существующей

Мои модели регистрации сотрудников выглядят следующим образом.

class EmployeeRegistration(models.Model):
#Departmental Details

    EmpId = models.IntegerField(verbose_name='EmpId')
    EmpImage = models.ImageField(default='default.png',upload_to='profile_pic/%Y/%m/%d')
    EmpSafetyCard= models.ImageField(default='default.png',upload_to='profile_pic/%Y/%m/%d')
    Site = models.ForeignKey(Site,on_delete=models.CASCADE,max_length=150,verbose_name='Site')
    Department =  models.ForeignKey(Department,on_delete=models.CASCADE,max_length=150,verbose_name='Department')
    Category = models.ForeignKey(Category,on_delete=models.CASCADE,max_length=150,verbose_name='Category')
    Designation = models.ForeignKey(Designation,on_delete=models.CASCADE,max_length=150,verbose_name='Designation')
    PfApplicable = models.BooleanField(default = True,verbose_name='Pf Applicable')
    EsiApplicable = models.BooleanField(default = True,verbose_name='Esic Applicable')
    Uan = models.PositiveIntegerField(null = True,verbose_name='Uan')
    Esic = models.PositiveIntegerField(null = True,verbose_name='Esic')
    AttendenceAward = models.BooleanField(default = True)
    AttendenceAllowance = models.BooleanField(default = True)
    ProfesionalTax = models.BooleanField(default = False)
    Name = models.CharField(max_length=150,verbose_name='Name')
    Father = models.CharField(max_length=150,verbose_name='Father')
    Dob = models.DateField()
    Male = models.BooleanField(default = True)
    Female = models.BooleanField(default = False)
    MaritalStatus = models.BooleanField(default = True)
    Address = models.CharField(max_length=200,verbose_name='Address')
    Aadhar = models.PositiveIntegerField(null=True)
    pan = models.CharField(max_length=10)
    choices = [('Working','WORKING'),('NotWorking','NOT WORKING'),('Leave','Leave')]
    Status = models.CharField(choices=choices,blank = False,max_length=10,verbose_name='Status')
    Doj = models.DateField(default = date.today)
    Doe = models.DateField(blank = True,verbose_name = 'Doe',null = True)

    def __str__(self): 
        return f'{self.Name}({self.EmpId})'

    def save(self):
        super().save()
        empimg = Image.open(self.EmpImage.path)
        empsafetycard = Image.open(self.EmpSafetyCard.path)
        if empimg.height>300 or empimg.width>300:
            output_size = (300,300)
            empimg.thumbnail(output_size)
            empimg.save(self.EmpImage.path)

        if empsafetycard.height>300 or empsafetycard.width>300:
            output_size = (300,300)
            empsafetycard.thumbnail(output_size)
            empsafetycard.save(self.EmpSafetyCard.path)

Это мое представление для регистрации нового сотрудника

def registration_view(request,id=0):
    form = newEmployeeForm()
    record = RecordsId.objects.all()
    empid = 0
    for data in record:
        empid = data.EmpId

    emp_id = empid+1
    if(empid!=0 or empid==0):
        get_emp = RecordsId.objects.get(EmpId=empid)

    EmployeeId={"EmpId":emp_id}
    print(request.POST)
    if(request.method == 'POST'):

        if(id==0):
            form = newEmployeeForm(request.POST or None,request.FILES,initial=EmployeeId)
            print("id= 0")
        else:
            print(id)
            employee = EmployeeRegistration.objects.get(pk=id)
            form = newEmployeeForm(instance=employee)
        
        if form.is_valid():
            print("valid")
            get_emp.EmpId = emp_id
            get_emp.save()
            form.save()
            print("saved")
            form = newEmployeeForm(initial=EmployeeId)
            messages.success(request,'Successfully Updated')
            return redirect('emplist') 
        else:
            print("Form is not valid")

    context = {
        'form':form,
        "contact":"active"
    
     }
    return render(request,"employee/NewEmployee.html",context)

У меня есть представление для регистрации новых сотрудников, в то же время в этом же представлении я обновляю записи сотрудников. Но когда я пытаюсь обновить существующую запись. Создается новая запись. Я не знаю, почему это происходит. Пожалуйста, помогите мне.

Вернуться на верх