Потеря данных при переопределении метода публикации в UpdateView - PullRequest
0 голосов
/ 08 мая 2020

Я хотел использовать один и тот же UpdateView с двумя разными шаблонами для 2 отдельных задач:

  1. Обновить пару CharFields
  2. Удалить экземпляры связанной модели

Я передаю ему разные шаблоны в urls.py и заменяю метод post следующим образом:

def post(self, request, *args, **kwargs):
        self.object = self.get_object()
        uploads = Upload.objects.filter(press=self.object)
        marked_uploads = request.POST.getlist('marked_upload', None)
        if marked_uploads is not None:
            for upload_id in marked_uploads:
                upload = uploads.get(id=upload_id)
                upload.file.delete(save=True)
                upload.delete()
        return super(PressUpdateView, self).post(request, *args, **kwargs)

Проблема в следующем: потому что я не отображаю CharFields во втором шаблоне каждый раз, когда я вызываю функцию POST из моего второго шаблона, значения в них стираются. Как правильно переопределить метод post, чтобы этого не произошло.

PS Я знаю, что могу просто добавить <div style="display:none;">{{ form.as_p }}</div> в форму во втором шаблоне, но я хочу знать, как это сделать в post.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...