Estou iniciando no Django e estou com o seguinte problema ,
criei um modelo "endereço" e quero relacionar com o modelo "funcionário" , ate ai ok !
class Funcionario (Pessoa):
endereco = models.ForeignKey('Endereco',on_delete=models.CASCADE, null=False,default='')
senha = models.CharField(max_length = 10,default = '')
class Endereco (models.Model):
rua = models.CharField(max_length = 254,default = '')
bairro = models.CharField(max_length = 254,default = '')
cidade = models.CharField (max_length = 254,default = '')
estado = models.CharField(max_length = 2, default='')
numero = models.CharField(max_length = 254,default = '')
complemento = models.CharField(max_length = 254 , default='')
cep = models.CharField(max_length=9,default = '')
def __str__(self):
return self.rua + ' ' + self.bairro
Estou usando o CBV CreateView para renderizar o template :
class FuncionarioAdd(CreateView):
template_name = 'funcionario_add.html'
model = Funcionario
fields = (
'nome',
'sobrenome',
'cpf',
'email',
'celular',
'tel_fixo',
'senha',
)
Minha duvida e o seguinte,quando eu chamo o campo "endereco" no meu formsModel ele renderiza um campo select box , eu gostaria de que ele carregasse o form do endereço .
obs: tentei criar dessa forma :
def create_funcionario(request):
form_funcionario = FuncionarioForm(request.POST or None)
form_funcionario_endereco = EnderecoForm(request.POST or None)
if form_funcionario.is_valid() and form_funcionario_endereco .is_valid():
form_funcionario_endereco.save()
form_funcionario.save()
return redirect('lista_funcionario')
return render(request,'funcionario_add.html',{ 'form': form_funcionario,'form2': form_funcionario_endereco})
ate renderizou os campos textos do endereço mas ficou me solicitando o preenchimento do campo "endereco_id"
e também acredito que não seja uma boa pratica
desde já obrigado =D