Хорошо, я посмотрел многие ответы в Интернете, но, похоже, ни один из них не решил эту проблему. Я пытаюсь сохранить каждый из многофайловой загрузки, но он продолжает сохранять один и тот же файл несколько раз. Что-то с моим атрибутом 'form' вызывает эту проблему, но я не могу понять, почему.
views.py
def upload_book(request):
if request.method == 'POST':
for f in request.FILES.getlist('pdf'):
form = BookForm()
form = BookForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('book_list')
else:
form = BookForm()
return render(request, 'upload_book.html', {
'form': form
})
forms.py
class BookForm(forms.ModelForm):
class Meta:
model = Book
fields = ('pdf',)
widgets = {
'pdf': forms.ClearableFileInput(attrs={'multiple': True}),
}
models.py
class Book(models.Model):
pdf = models.FileField(upload_to='books/pdfs/')
def __str__(self):
return self.title
def delete(self, *args, **kwargs):
self.pdf.delete()
super().delete(*args, **kwargs)