Django: недопустимый литерал для int () с базой 10: 'csrfmiddlewaretoken' - PullRequest
0 голосов
/ 05 марта 2019

У меня есть эта ошибка, когда я пытаюсь сохранить свою форму с данными.Форма:

class EntityCreateForm(forms.ModelForm):

def __init__(self, chain, *args, **kwargs):
    super(EntityCreateForm, self).__init__(*args, **kwargs)
    self.fields['chain'] = forms.ModelChoiceField(queryset=Chain.objects.filter(pk__in = chain))

    class Meta:
        model = Entity
        fields = '__all__'

Вид:

def entity_create(request):

    if request.method == 'POST':
        form = EntityCreateForm(request.POST)
        if form.is_valid():            
            form.save()
            return redirect(reverse('organisation:entity-list'))
    else:
        chain = request.session['chain']
        form = EntityCreateForm(chain)
    return render (request, 'organisation/entity_form.html', {'form':form})

Что с ним не так?

1 Ответ

0 голосов
/ 05 марта 2019

Вы добавили неожиданный параметр в функцию __init__ вашей формы.Если вы не используете эту форму нестандартным способом, то этот параметр будет заполнен данными POST от Django.Чтобы исправить эту ошибку, вы должны либо перезаписать раздел общего представления, который вы используете, чтобы включить эти дополнительные данные, либо передать его другим способом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...