Данные формы управления отсутствуют или были изменены в django

#python #python-3.x #django #django-models

#python #python-3.x #django #django-модели

Вопрос:

Я использую следующий код в своем приложении django, которое работает нормально, но я получаю эту ошибку при попытке сохранить форму:

[‘Данные формы управления отсутствуют или были изменены’]

Число просмотров:

 def employedit(request, pk, id):
    employ_academic_forms = EmployAcademicUpdateFormSet(queryset=EmployAcademicInfo.objects.filter(employ_id=pk))
    if request.method == 'POST':
        employ_academic_forms = EmployAcademicUpdateFormSet(request.POST)
        if employ_academic_forms.is_valid():
            employ_academic_forms.save()
            return redirect('employ-list')
    context = {
        'employ_academic_forms':employ_academic_forms,
    }
    return render(request, 'admins/employ/edit_employ.html', context)
  

форма:

 EmployAcademicUpdateFormSet = modelformset_factory(
    EmployAcademicInfo,
    exclude = ['employ_id'],
    extra=0,
    labels = {
        'degree': 'Enter Employ Degree',
        'last_passing_institution_name': 'Enter Employ Passing Institution',
        'last_passing_year': 'Enter Employ Passing Year',
        
    },
    widgets = {
        'degree' : forms.Select(attrs={'class':'form-control form-control-lg', 'placeholder':'Enter degree'}),
        'last_passing_institution_name' : forms.TextInput(attrs={'class':'form-control form-control-lg', 'placeholder':'Enter institution name'}),
        'last_passing_year' : forms.DateInput(attrs={'class':'form-control form-control-lg', 'type':'date'}),
        
    },   
    )
  

HTML:

 {% extends 'base/base.html' %} 
{% load static %}
{% load crispy_forms_tags %} 
{% block content %}
<div class="card">
    <form class="form-horizontal" action="" method="post">
        {% csrf_token %}
        <div class="card-body">
            <div class="card-body">
                <div class="form-horizontal">
                        {{ employAcademicFormSet.management_form }}
                        {% for form in employ_academic_forms %} 
                        {% for field in form.visible_fields %}
                            <div class="form-group row">
                                <label class="col-md-3 col-form-label" for="text-input"><h6>{{ field.label_tag }}</h6></label>
                                <div class="col-md-9">{{ field }}</div>
                            </div>
                        {% endfor %} 
                        {% endfor %}
                    </div>
            </div>
        </div>
        <div class="card-footer">
            <button class="btn btn-lg btn-primary" type="submit">Submit</button>
        </div>
    </form>
</div>
{% endblock %}
  

Кто-нибудь знает, что является причиной этого? Пожалуйста, помогите мне!!!

Ответ №1:

Я думаю, что вы можете использовать неправильное имя при вызове management_form .

Можете ли вы попробовать заменить

 {{ employAcademicFormSet.management_form }}
  

с

 {{ employ_academic_forms.management_form }}
  

и посмотрите, поможет ли это.