Дублирование значения ключа в многошаговой форме Django

Я пытаюсь реализовать многоступенчатую форму на Django и являюсь относительно новичком в этом языке, но испытываю трудности, когда дело доходит до сохранения данных в бэкенд. Любая помощь была бы очень признательна. Потратил около 8 часов, пытаясь разобраться в этом самостоятельно.

Мне нужно передать код и имя из модели Books в People, а затем вставить другую необходимую информацию на шаге 2, поскольку это отдельная модель таблицы. Существует внешний ключ, соединяющий People с Books через id.

Views.py

#Step1
def step1(request):
    initial={'code': request.session.get('code', None),
    }   
    form = PrimaryForm(request.POST or None, initial=initial)
    if request.method == 'POST':
        if form.is_valid():

            return HttpResponseRedirect(reverse('main_app:step2'))
    return render(request, 'step1.html', {'form': form})
    
#Step2
def step2(request):
    form = SecondaryForm(request.POST or None)
    if request.method == 'POST':
        if form.is_valid():
            
            form1 = form.save(commit=False)
            form2 = People.objects.create(code=request.session['code']) 
            form1.save()

            return HttpResponseRedirect(reverse('main_app:finished'))
    return render(request, 'step2.html', {'form': form})

Forms.py

#models/forms
class PrimaryForm(forms.ModelForm):
    class Meta:
        model = People
        fields = ('id','code','name',)

class SecondaryForm(forms.ModelForm):
    class Meta:
        model = Books
        fields = ('type','title',)
        exclude = ('book_id',)

Сообщение об ошибке

вставка или обновление таблицы "PEOPLE" нарушает ограничение внешнего ключа ПОДРОБНАЯ ИНФОРМАЦИЯ: Ключ (id_id_id)=(0) отсутствует в таблице "PEOPLE".

Код, имя должны проходить через формы и на шаге 2 сохранять информацию из обеих форм.

Вернуться на верх