Supponiamo di avere una tabella contente i valori dei consumi energetici di un particolare dispositivo.
In particolare abbiamo inserito un campo (somma) che sarà popolato con il risultato ottenuto dalla somma di altri 4 campi. In questo modo ad ogni inserimento (Admin) di dati relativi ai primi 4 campi (rientranti nella somma) e dopo avere cliccato il punsante “Salva” o “Salva e continua le modifiche” il campo “somma” apparirà popolato con il valore somma.
Ecco un esempio di strutturazione della class nel file models.py.
class ConsumiIlluminazione(models.Model): """Tabella consumi illuminazione""" utente = models.ForeignKey(UtenteIlluminazione) campo1 = models.IntegerField(null=True, blank=True) campo2 = models.IntegerField(null=True, blank=True) campo3 = models.IntegerField(null=True, blank=True) campo4 = models.IntegerField(null=True, blank=True) somma = models.IntegerField(null=True, blank=True) def calcoloTotale(self): self.somma = self.campo1 + self.campo2 + self.campo3 + self.campo4 def save(self): self.calcoloTotale() super(ConsumiIlluminazione, self).save() def __unicode__(self): return "%s" % (self.utente) class Meta: ordering = ["utente"] verbose_name_plural = "Consumi illuminazione"