Olá Eduardo, como você está?
Peço desculpas pela demora em obter um retorno.
Em um projeto Django, você pode realizar essa atribuição no momento de salvar o objeto no banco de dados. Para isso, você pode definir um método save()
personalizado no modelo que contém as variáveis de peso_bruto
, peso_liquido
e tara
.
Exemplo:
class Produto(models.Model):
nome = models.CharField(max_length=100, null=False, blank=False)
categoria = models.CharField(max_length=100, default='')
peso_bruto = models.FloatField()
tara = models.FloatField()
peso_liquido = models.FloatField(null=True, blank=True)
def save(self, *args, **kwargs):
if self.peso_bruto and self.tara:
self.peso_liquido = self.peso_bruto - self.tara
super(Produto, self).save(*args, **kwargs)
No exemplo acima, o método save()
primeiro verifica se as variáveis peso_bruto
e tara
estão preenchidas. Em seguida, ele realiza a operação de subtração e atribui o resultado à variável peso_liquido
. Vale ressaltar que no exemplo acima, a variável peso_liquido
é definida como null=True
e blank=True
. Isso permite que o campo seja nulo ou vazio, caso o usuário não preencha esses dados no formulário. Se você deseja que o campo seja obrigatório, basta remover esses parâmetros.
Resultado:
Espero ter ajudado. Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!