Обработка нескольких файлов в файловом поле django
Я пытаюсь позволить пользователю загружать несколько файлов в поле fileupload, которые обрабатываются и сохраняются в базе данных.
models.py
class MyModel(Model):
user = ForeignKey(settings.AUTH_USER_MODEL, on_delete=CASCADE)
title = CharField(max_length=200, default='')
text = TextField(default='', blank=True, null=True)
document = FileField(null=True, blank=True, upload_to="documents")
forms.py
class MyModelForm(ModelForm):
class Meta:
model = MyModel
fields = [
'document'
]
labels = {
'document': 'upload documents here'
}
widgets = {
'document': ClearableFileInput(attrs={'multiple': True})
}
views.py
if form.is_valid():
counter = 0
for f in request.FILES.getlist('document'):
instance = form2.save(commit=False)
instance.user = request.user
instance.title = counter
instance.save()
counter += 1
return redirect('overview', num)
Что происходит, так это то, что этот цикл применяется только к одному экземпляру для каждого документа, который я загружаю. Если я загружаю 3 документа, я должен получить три отдельные сохраненные записи в базе данных под названиями 0, 1, 2. Но происходит то, что я получаю только одну запись под названием 2.
Что я делаю не так?