Здесь у меня есть класс запроса на поездку, и у него есть исходный номер пассажира и общее количество пассажиров.Я разрешаю пользователю изменять значение исходного номера пассажира с помощью ModelForm, а в UpdateView я бы хотел, чтобы общее количество пассажиров равнялось исходному количеству пассажиров, только что полученному от ModelForm.Например: ModelForm :
class RequestOwnerForm(ModelForm):
class Meta:
model = OwnerRequest
fields = [
'passenger_num',
labels = {
'passenger_num': 'How many passengers do you have?',
}
и UpdateView :
class OwnerRequestEditView(LoginRequiredMixin, generic.UpdateView):
model = OwnerRequest
template_name = 'ride/request_edit.html'
form_class = RequestOwnerForm
success_url = reverse_lazy('ride:view_requests')
def form_invalid(self, form):
print("form is invalid")
return HttpResponse("form is invalid.. this is just an HttpResponse object")
def form_valid(self, form):
pk = self.kwargs.get('pk')
request = get_object_or_404(OwnerRequest, pk=pk)
if request.status == 'open':
request.passenger_num = form.cleaned_data['passenger_num']
passenger_num = form.cleaned_data['passenger_num']
request.total_passenger = passenger_num # I want total_passenger equals to passenger_num
request.save()
return super().form_valid(form)
Но тот факт, что total_passenger не изменяется.
Может ли кто-нибудь помочь мне?Спасибо!