django-expression-fields allows typing mathematical expressions into form fields and having only the calculated result stored in the database.
django-expression-fields lets your users type a mathematical expression in a form field. Python does the math and stores the result in the database. For example, suppose you have a model to track Things, like this:
class Thing(models.Model): cost = models.DecimalField( max_digits=5, decimal_places=2, null=True, blank=True)
Suppose Things come in packs of 12 for $7.99. Your users have to do some math to fill in the cost of a single Thing, $0.67.
But not with an expression field! Create your form like this:
class ThingForm(forms.Form): cost = DecimalExpressionField( max_digits=5, decimal_places=2, required=False)
Now your user can simply type 7.99/12 in the field and Python will do the math for them!