Sou novato na programação e estou tentando fazer um formulário utilizando mais de um Model em Django. Eu até consegui fazer listar os fields do forms.py, mas quando solicito pra salvar ele grava apenas os dados do primeiro model. O erro que dá é "NOT NULL constraint failed: Geral_usuario.colaboradorId_id", que acredito que seja por não conseguir recuperar o id do colaborador que acabou de ser cadastrado. Como eu poderia estar solucionando isso? Refiz um "mini-código" para dar uma ideia de como estou fazendo. models.py: from django.db import models class Colaborador(models.Model): nome = models.CharField() class Usuario(models.Model): user = models.CharField(unique=True) senha = models.CharField() colaboradorId = models.OneToOneField('Colaborador', on_delete=models.CASCADE) class Email(Contato): email = models.CharField() colaboradorId = models.ForeignKey('Colaborador', on_delete=models.CASCADE) forms.py: from django.forms import ModelForm from django import forms from .models import Colaborador, Usuario, Email class FormUsuario(ModelForm): class Meta: model = Usuario fields = ['user', 'senha'] class FormColaborador(ModelForm): class Meta: model = Colaborador fields = ['nome'] class FormEmail(ModelForm): class Meta: model = Colaborador fields = ['nome'] views.py: from django.shortcuts import render, redirect from .forms import FormUsuario, FormColaborador, FormEmail def Cadastro(request): data = {} if request.method == "POST": data['colaborador'] = FormColaborador(request.POST, None) data['usuario'] = FormUsuario(request.POST, None) data['email'] = FormEmail(request.POST, None) if data['colaborador'].is_valid(): colaborador = data['colaborador'].save(commit=False) id = colaborador.id if data['usuario'].is_valid(): usuario = data['usuario'] usuario.colaboradorId = id if data['email'].is_valid(): email = data['email'] email.colaboradorId = id colaborador.save() usuario.save() email.save() return redirect('lista') else: data['colaborador'] = FormColaborador() data['usuario'] = FormUsuario() data['email'] = FormEmail() return render(request, 'cadastro.html', data) cadastro.html: <form action="" method="POST"> {% csrf_token %} {{ colaborador.as_p }} {{ usuario.as_p }} {{ email.as_p }} <button class="btn btn-success">Enviar</button> </form> Continue reading...