In the Form of a Orcamento App I have Choice Field with Model Pessoa from APP Pessoa when selecting, I would like it to show the UF of this Person. This person's UF is in the Address Model in the same Pessoa APP. Pessoa_Ender have a foreign key with the Pessoa model: company = models.ForeignKey(Company, on_delete=models.CASCADE, related_name='pessoa_ender_set').
APP Pessoa:
class Pessoa(models.Model):
nome = models.CharField(verbose_name='Nome', max_length=255,
null=False, blank=False)
pessoa_tipo = models.CharField(verbose_name='Tipo', max_length=10,
null=True, choices=PESSOA_TIPO,
default='Jurídica')
pessoa_cat = models.CharField(verbose_name='Categoria',
max_length=50, null=True, choices=PESSOA_CAT,
default='Pecuarista')
created_at = models.DateTimeField(verbose_name='Criação',
default=timezone.now)
situacao = models.CharField(verbose_name='Situação',
max_length=50, null=True, choices=SITUACAO, default='Ativo')
def __str__(self):
return self.nome**
App Pessoa:
class Pessoa_Ender(models.Model):
pessoa = models.ForeignKey(Pessoa, on_delete=models.CASCADE,
related_name='pessoa_ender_set')
logradouro = models.CharField(verbose_name='Logradouro',
max_length=100, null=True, blank=True)
numero = models.CharField(verbose_name='Número', max_length=10,
null=True, blank=True)
bairro = models.CharField(verbose_name='Bairro', max_length=50,
null=True, blank=True)
municipio = models.CharField(verbose_name='Município',
max_length=50, null=True, blank=True)
uf = models.CharField(verbose_name='UF', max_length=2, null=True,
blank=True)
App Orcamento
class Orcamento(models.Model):
data_criacao = models.DateTimeField(verbose_name='Data da
Criação', default=timezone.now)
nome_empresa = models.OneToOneField('parametros.Empresas',
on_delete=models.CASCADE, related_name='nomempresas_set')
nome = models.ForeignKey('pages.Pessoa', on_delete=models.CASCADE,
related_name='fornepessoa_set', null=False)
uf = models.OneToOneField('pages.Pessoa_Ender',
on_delete=models.CASCADE, related_name='ufpessoaender_set',
null=False)
Forms.py
class PreOrcamentoForm(forms.ModelForm):
class Meta:
model = PreOrcamento
fields = ['data_criacao', 'nome_empresa', 'nome', 'uf']
labels = {
'data_criacao': 'Data da Criação',
'nome_empresa': 'Nome da Empresa',
'nome': 'Nome do Fornecedor',
'uf': "Estado do Fornecedor",
}
Template
<div class="col-2">{{ form.nome|as_crispy_field }}</div>
<div class="col-2">{{ form.uf|as_crispy_field }}</div>