Файлы обработки форм Django

Итак, у меня есть следующий код:

# the view

class UpdateDateView(LoginRequiredMixin, UpdateView):
    model = Date
    form_class = DateForm
    template_name = 'app/form/date_edit_form.html'

    def save_photos(self, date) -> None:
        photos = self.request.FILES.getlist('photo')
        current_photos = self.request.FILES.getlist('custom-photo-name') # this is not working
        for photo in photos:
            Photo.objects.create(date=date, photo=photo)

    def form_valid(self, form):
        date = form.save()
        self.save_photos(date)
        return super().form_valid(form)
# the form

class DateForm(forms.ModelForm):
    photo = forms.ImageField(required=False)
    
    class Meta:
        model = Date
        exclude = ('user',)
# the Edit form

<form action="{% url 'app:edit-date' date.slug %}" method="post" enctype="multipart/form-data">{% csrf_token %}
      <div class="form-container">

             ...
             <tr>
                  <th><label for="id_photo">Image:</label></th>
                  <td>
                  <input type="file" name="photo" accept="image/*" id="id_photo" multiple>
                  </td>
             </tr>
             <div class="current-photos">
                  {% for photo in date.photos.all %}
                  <div class="photo-wrapper-{{ forloop.counter }}">
                       <img src="{{ photo.photo.url }}" width="200px"><a class="delete-photo" id="{{ forloop.counter }}">Delete</a>
                        <input type="file" name="custom-photo-name" value="{{ photo }}" class="hide" id="photo_{{ forloop.counter }}">
                  </div>
                  {% endfor %}
             </div>
       </div>
       <div class="buttons">
             <input type="submit" value="Save" class="create-button redirection no_decoration">
             <a href="{% url 'app:date_details' date.slug %}" class="redirection no_decoration">Back</a>
       </div>
</form>
# js (jquery)

$('.delete-photo').on('click', function() {
  const id = $(this).attr('id');
  const div_class = `.photo-wrapper-${id}`;
  $(div_class).remove()
});

У меня есть CreateView и UpdateView. Поле ImageField не является обязательным, оно опционально. Предположим, что я создал новую дату с фотографиями. Затем я захотел отредактировать его фотографии (удалить некоторые и добавить новые). Когда я нажимаю на тег (Delete), обёртка div для этой фотографии удаляется. Когда я пытаюсь сохранить свои правки, я хочу получить доступ к двум разным спискам с фотографиями (те, которые были добавлены в прошлом, и новые фотографии). Это self.request.FILES.getlist('custom-photo-name'), кажется, ничего не делает с текущими фотографиями. Пожалуйста, помогите, может у меня вообще логика кода плохая? Что я упускаю? Что ищет html форма при отправке формы, тег или может быть атрибут name? Заранее огромная благодарность!

Вернуться на верх