faire des calcul entre les champs des models

je souhaite faire des opérations entre les champs d’un model et qu’il soit sauvegarder dans la base de donnée sans passer par save()

ci dessous un essais mais qui ne fonctionne pas

class Test(models.Model):

longueur=models.FloatField()
largeur=models.FloatField()
surface=models.FloatField()

@property
def surface(self):
    return self.longueur*self.largeur


"""def save(self,*args,**kwargs):
    if self.longueur and self.largeur:
        self.surface=self.longueur*self.largeur
    super().save(*args,**kwargs)"""

Welcome @amatras66 !

— From translate.google.com
Je pense que ce que vous cherchez à faire peut être réalisé avec le GeneratedField de Django.

Il existe certaines limitations aux fonctions qui peuvent être exécutées, et celles-ci dépendent de la base de données utilisée. Voir la note « Limitations de la base de données » dans la documentation.

— The original English —
I think what you are looking to do can be done with Django’s GeneratedField.

There are some limitations to the functions that can be performed, and those depend upon which database is being used. See the “Database Limitations” note box in the docs.

1 Like