I have a model with a FileField in it:
class DocumentUpload(models.Model):
document_name = models.CharField(max_length=100, blank=True)
document_path = models.FileField(upload_to='uploads')
and a form which uses this model
class DocumentUploadForm(forms.ModelForm):
class Meta:
model = DocumentUpload
When I use the form to create a new upload everything works fine.
if request.method == 'POST':
form = DocumentUploadForm(request.POST, request.FILES)
if form.is_valid():
form.save()
However when I try and update/edit the entry it updates all the fields apart from the document which is uploaded. This just stays the same as the original upload.
d = get_object_or_404(DocumentUpload, pk=id)
if request.method == 'POST':
form = DocumentUploadForm(data=request.POST, files=request.FILES, instance=d)
if form.is_valid():
u = form.save()
How do I get it to change the upload file when editing the instance?
Thanks
Since it was my idea, I'll post it up as an answer (just to stroke my own ego and/or rating)...
Add the following to your form's template:
feel free to check it off as an answer...
:)
just needed to add:
to my form. Thanks Brant