ValidationError: [u'ManagementForm данные отсутствуют или были изменены '] на странице шаблона Django, когда я пытаюсь просмотреть свой набор форм - PullRequest
0 голосов
/ 29 апреля 2018

Django версия 1.8.7 Я создаю страницы, на которых пользователь должен добавить список приглашенных к его прополке, поэтому мне нужно было использовать одну и ту же форму много раз на одной и той же странице, чтобы создать несколько экземпляров модели приглашенных; Для этого я использовал набор форм модели с помощью функции modelformset_factory.

Так в моих формах.py

class InviteesForm(ModelForm):
class Meta:
    model = Invitees
    fields = ['user', 'invitee_name' , 'invitee_address', 'invitee_count', 
   'invitee_email']
    exclude = ('user',)

#creating a formset 
InviteesFormSet = modelformset_factory(Invitees, form = InviteesForm )

Вы можете увидеть мою форму модели для модели приглашенных и мой набор InviteesFormSet, который использует функцию modelformser_factory.

В моих views.py

def preview(request):
formset = forms.InviteesFormSet(queryset=Invitees.objects.all())
if request.method == 'POST':
    formset = forms.InviteesFormSet(request.POST)
    if formset.is_valid():
       formset.save(commit = False)   
       return redirect('/invitees/')         
else:
    formset = forms.InviteesFormSet(request.POST)
return render(request, 'preview.html', {'formset': formset} ) 

В моем Preview.html

 <form action="/preview/" method='POST'>
    {% csrf_token %}  
    {{ formset.management_form }}
    <button type="submit">Add an Invitee</button>
    </form>

Формсет не отображается в моем html, я не уверен, что я делаю не так, это базовый код! но я получаю эту ошибку

[u'ManagementForm данные отсутствуют или были подделаны ']

Я попробовал решение, упомянутое здесь, добавив .management_form к набору форм на странице шаблона: см. Здесь https://docs.djangoproject.com/en/dev/topics/forms/formsets/#understanding-the-managementform

Не могли бы вы помочь мне разобраться в проблеме?

Спасибо

...