Не могли бы вы объяснить, что происходит в этой простой функции django? formset=OrderFormSet(запрос.POST, экземпляр = клиент)

#django

#django

Вопрос:

Я новичок в Django, поэтому я пытаюсь понять основные понятия…что происходит в formset=OrderFormSet(request.POST,instance=customer) ? formset Заполняется ли он какими request.POST -либо данными? Отправляется ли он на сервер? Почему существует request.POST ?

 def createOrder(request, pk):
OrderFormSet = inlineformset_factory(Customer, Order, fields = ('product','status'), extra=10)
customer=Customer.objects.get(id=pk)
formset=OrderFormSet(queryset=Order.objects.none(),instance=customer)

if request.method=='POST':
    
    formset=OrderFormSet(request.POST,instance=customer)
    if formset.is_valid():
        formset.save()
        return redirect('/')
context={'formset':formset}
return render(request, 'accounts/order_form2.html',context)
  

Комментарии:

1.Документация docs.djangoproject.com/en/3.1/topics/forms docs.djangoproject.com/en/3.1/topics/forms/formsets

Ответ №1:

По сути, в вашей переменной «formset» вы начинаете с пустого набора запросов, поэтому мы находимся в случае, когда мы добавим что-то к набору запросов. Если вы получите запрос POST, ваша форма будет отправлена и будет обработана. Это означает, что клиент заполняет форму и отправляет ее через POST. Таким образом, вашей переменной «formset» будут присвоены отправленные данные, содержащиеся в запросе.Публикация

Затем вы будете проверять отправленные данные с помощью метода is_valid() . Этот метод проверяет данные, введенные в формах, и возвращает True . Если форма действительна