Я хотел использовать один и тот же UpdateView
с двумя разными шаблонами для 2 отдельных задач:
- Обновить пару
CharFields
- Удалить экземпляры связанной модели
Я передаю ему разные шаблоны в 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
.