存储多维物理量的django模型的字段
django-quantity-field的Python项目详细描述
django应用程序提供模型和表单字段 接受并存储多维物理量。
要求
此应用程序依赖于用于操作的Pint库 操纵物理量。完整的文档是 可在http://pint.readthedocs.org/
安装
使用pip:pip install django-quantity-field安装django quantity字段。
用法
要使用数量字段,请将其添加到模型定义中:
from quantity_field import ureg from quantity_field.fields import MultiQuantityField class Package(models.Model): size = MultiQuantityField(dim=3, units=(ureg.mm, ureg.cm, ureg.m)) weight = MultiQuantityField(units=(ureg.g, ureg.kg))
django-quantity-field带有自定义表单字段,即 默认情况下用于在管理或窗体中编辑。
访问MultiQuantityField字段将返回MultiQuantity对象 可以作为普通品脱的量。
>>> from quantity_field.base import MultiQuantity >>> size = MultiQuantity.from_list(2, 5.5, 4, str(ureg.m)) >>> size <Quantity(44.0, 'meter ** 3')> >>> size.dim 3 >>> [v for v in size] [<Quantity(2.0, 'meter')>, <Quantity(5.5, 'meter')>, <Quantity(4.0, 'meter')>]
警告
别忘了品脱没有全球单位。使用品脱量 在您的项目中与django-quantity-field一起使用 我们的应用程序中的pint注册表。
>>> from quantity_field import ureg >>> from quantity_field.base import MultiQuantity >>> box = MultiQuantity.from_string('42 kg') >>> box + 2.2 * ureg.kg <Quantity(44.2, 'kilogram')>