Convenient fields and classes for handling measurements
Easily use, manipulate, and store unit-aware measurement objects using Python and Django.
django.contrib.gis.measure has these wonderful ‘Distance’ objects that can be used not only for storing a unit-aware distance measurement, but also for converting between different units and adding/subtracting these objects from one another.
This module provides for a django model field and admin interface for storing any measurements provided by python-measurement.
Example use with a model:
from django_measurement.models import MeasurementField from measurement.measures import Volume from django.db import models class BeerConsumptionLogEntry(models.Model): name = models.CharField(max_length=255) volume = MeasurementField(measurement=Volume) def __unicode__(self): return u"%s of %s" % (self.name, self.volume) entry = BeerConsumptionLogEntry() entry.name = 'Bear Republic Racer 5' entry.volume = Volume(us_pint=1) entry.save()
These stored measurement objects can be used in all of the usual ways supported by python-measurement too:
>>> from measurement.measures import Weight >>> weight_1 = Weight(lb=125) >>> weight_2 = Weight(kg=40) >>> added_together = weight_1 + weight_2 >>> added_together Weight(lb=213.184976807) >>> added_together.kg # Maybe I actually need this value in kg? 96.699