Scusami cerco di essere più chiaro e posto il codice
Ho 2 tabelle collegate A e B.
Un campo di B é collegato ad un campo di A tramite una ForeignKey
Nel form dopo la scelta della select devo visualizzare il valore di un altro campo della Tabella B
Models
class Utente(models.Model):
RagSociale = models.CharField(max_length=40, blank=False, null=False)
Indirizzo = models.CharField(max_length=30, default='')
ComuneID = models.ForeignKey(Comuni, on_delete=models.PROTECT, null=True)
Cap = models.IntegerField(validators=[MaxValueValidator(99999), MinValueValidator(0)], blank=True, null=True)
class Meta:
# db_table = 'Utente'
ordering = ['RagSociale']
verbose_name = 'Utente'
verbose_name_plural = 'Gestione Utente'
default_permissions = ('add', 'change', 'delete', 'view')
@property
def prov(self):
return self.ComuneID.Prov if self.ComuneID else None
def __str__(self):
return self.RagSociale
class Comuni(models.Model):
# ... Nel campo Codice ho tolto default=0 altrimenti mi visualizza lo 0 e preferisco sia vuoto
CodCatastale = models.CharField(max_length=4, unique=True, default='', blank=False, null=False)
Comune = models.CharField(max_length=30, unique=True, default='', blank=False, null=False)
Cap = models.IntegerField(validators=[MaxValueValidator(99999), MinValueValidator(0)], blank=True, null=True)
Prov = models.CharField(max_length=2, default='', blank=True, null=True)
RegioneID = models.ForeignKey(Regioni, on_delete=models.PROTECT)
class Meta:
# db_table = 'Comuni'
ordering = ['Comune']
verbose_name = 'Comuni'
verbose_name_plural = 'Gestione Comuni'
unique_together = ['CodCatastale', 'Comune']
# permissions = ['Modificare_tutto'] # controlla cosa puoi inserire
default_permissions = ('add', 'change', 'delete', 'view')
def __str__(self):
return f"{self.Comune} ({self.Prov})"
Dalla della Tabella Utente scelgo il comune.
Dopo la scelta del comune, sulla form devo visualizzare il valore Prov e devo riempire il campo CAP di Utente con il valore del campo CAP di Comuni
Di seguito il codice js per prendere l'ID del Comune scelto nella form
document.addEventListener("DOMContentLoaded", function () {
const comuneInput = document.querySelector("#id_ComuneID");
console.log(comuneInput); // Verifica che comuneInput sia correttamente selezionato
comuneInput.addEventListener("blur", function () {
const capInput = document.querySelector("#id_Cap");
/*const selectedComuneCap = getCapValueForComune(this.value);*/
capInput.value = 111;
});
});