Как сохранить данные формы - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь сохранить данные набора форм, у меня есть метод see () с параметром slug для получения клиентских контактов, после этого я отображаю контакты с помощью набора форм, но проблема заключается в том, как редактировать и сохранять отображаемые данные Так как же вызвать метод see еще раз, чтобы request.POST был истинным и я мог редактировать данные набора форм ??

views.py

def see(request,slug):
    data = dict()
    print(request.POST)
    ProductFormSet = modelformset_factory(Contact, fields=('Nom','post','Tel','email','contact_type','client'), extra=0)
    client = get_object_or_404(Client_Data, slug=slug)

    attig = request.POST or None
    formset = ProductFormSet(data=attig, queryset=Contact.objects.filter(client=client))

    for form in formset:
        form.fields['client'].queryset = Contact.objects.filter(client=client.id)

    if request.method == 'POST':
        print('hello')
        print(formset.is_bound)
        if formset.is_valid():
          formset.save()

    context = {'form': formset}
    template_name = 'Client_Section/partial_client_contact.html'
    data['html_form'] = render_to_string(template_name, context, request=request)
    return JsonResponse(data)

form.py

class Contact_Form(forms.ModelForm):
    class Meta:
        model = Contact
        fields = ('Nom','post','Tel','email','contact_type','client')

    def __init__(self,*args, **kwargs):
        super(Contact_Form, self).__init__(*args, **kwargs)
        self.fields['client'].queryset = Client_Data.objects.all()

parital_client_contact. html

если я добавлю action = "{% url 'see' form.instance.slug%}" я получаю ошибку ("NoReverseMatch: Reverse for" see 'with arguments' ('',) 'не найдено. 1 шаблон (-ов) пробовали: [' client / see / (? P [-a-zA-Z0-9 _] +) $ '] ")


<form method="post" class="js-book-create-form">
  {% csrf_token %}
  <div class="modal-body" >
    {% include 'Client_Section/partial_client_contact_form.html' %}
  </div>
  <br><br>
  <div style="pos">

    <button    style="float : right"  type="submit" class="btn btn-primary ">Update Contacts</button>
        <button  style="float : right" type="button" class="btn btn-default" data-dismiss="modal">Close</button>
  </div>
</form>

parital_client_contact_form. html:

{% block content %}

{{form.as_p}}

{% endblock %}

...