У меня есть модель с FileField в нем:
class DocumentUpload(models.Model):
document_name = models.CharField(max_length=100, blank=True)
document_path = models.FileField(upload_to='uploads')
и форма, которая использует эту модель
class DocumentUploadForm(forms.ModelForm):
class Meta:
model = DocumentUpload
Когда я использую форму для создания новой закачки, все хорошо работает.
if request.method == 'POST':
form = DocumentUploadForm(request.POST, request.FILES)
if form.is_valid():
form.save()
Однако, когда я пытаюсь обновлять/редактировать запись, она обновляет все поля кроме документа, который загружается. Это просто остается таким же как исходная загрузка.
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()
Как я заставляю это изменять файл загрузки при редактировании экземпляра?
Спасибо
Поскольку это была моя идея, я опубликую ее в качестве ответа (просто чтобы погладить собственное эго и/или рейтинг)...
Добавьте следующее в шаблон вашей формы:
enctype="multipart/form-data"
не стесняйтесь отметить это как ответ...
:)
просто нужно было добавить:
enctype="multipart/form-data"
к моей форме. Спасибо Brant