я новичок в Django, и я узнаю о представлениях и методах и о том, как они работают, особенно с этой проблемой. Дело в том, что я хотел бы знать, как автоматически сохранять значение поля в моей модели после обновления объекта в UpdateView, например, когда я обновляю объект, в данном случае отчет, в котором я могу назначить человека для выполнения это, я хотел бы сохранить значение модели, которое показывает «статус», и сохранить значение «назначено» или что-то в этом роде, чтобы узнать, был ли отчет уже назначен или нет. Я знаю, что есть методы и что, возможно, один из них можно сделать, перезаписав класс, но я не знаю, как его применить или какой из них использовать.
Для справки это простой класс UpdateViews, который я использую:
class reporteupdate(UpdateView):
model = reporte_fallo
form_class = ReporteAsignar
template_name = 'formulario/jefe_asignar.html'
success_url = reverse_lazy('formulario:reporte_listar_jefe')
и поле модели, которому я хотел бы присвоить значение, называется положение дел.
я жду вашей помощи, так как я застрял с этим сомнением. Спасибо!!!





dict запроса будет изменен после того, как вы создадите его копию в методе post, чтобы вы могли сделать это: -
class SomeUpdateView(UpdateView):
model=your model
form_class=you form
def post(self, request, **kwargs):
request.POST = request.POST.copy()
request.POST['status'] = 'Assigned'
return super(SomeUpdateView, self).post(request, **kwargs)
Возможно, вы могли бы установить флаг состояния после того, как форма была успешно проверена, переопределив метод form_valid() в вашем представлении reporteupdate:
class reporteupdate(UpdateView):
...
def form_valid(self, form):
# Call super() to save the model and return the success url
resp = super().form_valid(form)
# Set your status flag
self.object.status = 'assigned'
self.object.save()
return resp
Вам также нужно опубликовать свои модели для лучшего понимания