Update FileField in ModelForm

Hi everybody
I have joined the forum because I have been using Vitor’s great articles to improve upon being a complete Django beginner. I am now really stuck and would appreciate any help/insight. I have a candidate model, as follows.
from django.db import models

from django.contrib.auth.models import User

from django.conf import settings


class candidate(models.Model):

canid = models.CharField(max_length=20, blank=False, null=False)

name = models.CharField(max_length=100)

nationality = models.CharField(max_length=12)

address = models.CharField(max_length=200)

dob = models.DateField(blank=True, null=True)

email = models.EmailField(max_length=30, blank=True)

phone = models.CharField(max_length=20, blank=True)

targetsalary = models.DecimalField(decimal_places=0, max_digits=7)

dayrate = models.DecimalField(decimal_places=0, max_digits=4)

notice = models.DecimalField(decimal_places=0, max_digits=2)

cv = models.FileField(upload_to='cvs/', blank=True)

username = models.ForeignKey(User, blank=True, null=True, on_delete=models.CASCADE)

def __str__(self):

    return str(self.name)

As you can see I have a FileField named cv. I created a ModelForm , as follows:
from django import forms

from django.forms import ModelForm, Textarea, DateInput

from candidate.models import candidate

class CandidateForm(forms.ModelForm):

class Meta:

    model = candidate

    fields = "__all__"

    #localized_fields= ('__all__')

    dob = forms.DateField(widget=forms.DateInput(format='%d/%m/%Y'),input_formats=('%md/%m/%Y', ))   

    widgets = {

        'dob': DateInput(format= '%d/%m/%Y'),

       'address': Textarea()


The input function in my view works fine, as follows:
def inp_candidate(request):

if request.method=="POST":

    form = CandidateForm(request.POST, request.FILES)

    if form.is_valid():




            print ('success')

            return redirect('/candidateshow')





return render(request,'index.html',{'form':form})

The problem I have is that the form fails with the update function:
def update(request, cand_id):

cand_id = int(cand_id)


    cand_sel =candidate.objects.get(id=cand_id)

except candidate.DoesNotExist:

    return redirect('/candidateshow')

form = CandidateForm(request.POST or None,  instance=cand_sel) 

print (cand_id, cand_sel) 

if form.is_valid():        


    print ('debug2') 

    return redirect("/candidateshow") 

print ('fail') 

return render(request, 'index.html', {'form': form})

I am sure that this is because the form instantiation requires request.FILES, but if I add this it presents a blank form.
I would really appreciate any suggestions/answers.
Very best and good health