Django Multiple File Upload загружает последний файл дважды

57
3

Я хочу использовать множественную загрузку файлов через один FileField. Если файлы загружаются, последний файл списка загружается дважды. То же самое, если я загружу только один файл. Моя модель:

class UltrasoundImages(models.Model):
Ultrasound = models.ForeignKey(Ultrasound, on_delete=models.CASCADE)
image = models.FileField(upload_to='UltrasoundImages/%Y/%m/%d/')

Мой взгляд (здесь что-то не так!):

class UltrasoundImagesCreate(LoginRequiredMixin, generic.CreateView):
model = UltrasoundImages
form_class = UploadForm
login_url = 'member:login'
def get_initial(self):
ultrasound = get_object_or_404(Ultrasound, pk=self.kwargs.get('ves'))
return {
'Ultrasound': ultrasound,
}
def get_context_data(self, **kwargs):
context = super(UltrasoundImagesCreate, self).get_context_data(**kwargs)
context['patientID'] = self.kwargs.get('id')
return context
def post(self, request, *args, **kwargs):
form_class = self.get_form_class()
form = self.get_form(form_class)
files = request.FILES.getlist('image')
if form.is_valid():
for f in files:
if not UltrasoundImages.objects.filter(Ultrasound=get_object_or_404(Ultrasound, pk=self.kwargs.get('ves')), image=f):
UltrasoundImages.objects.create(Ultrasound=get_object_or_404(Ultrasound, pk=self.kwargs.get('ves')), image=f)
return self.form_valid(form)
else:
return self.form_invalid(form)

Я ценю любую помощь.

спросил(а) 2018-02-09T15:36:00+03:00 2 года, 8 месяцев назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема