Я пытаюсь сохранить данные набора форм, у меня есть метод 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 %}