import jsonapi_requests from . my_meta import MyMeta class Quantity(jsonapi_requests.orm.ApiModel): class Meta(MyMeta): type = 'quantity' measure = jsonapi_requests.orm.AttributeField('measure') json_value = jsonapi_requests.orm.AttributeField('value') units = jsonapi_requests.orm.RelationField('units') inventory_adjustment = jsonapi_requests.orm.AttributeField('inventory_adjustment') inventory_asset = jsonapi_requests.orm.RelationField('inventory_asset') @property def value(self): return self.json_value['decimal'] class Standard(Quantity): class Meta(Quantity.Meta): name = 'standard' type, path = Quantity.Meta.get_type_and_path(name) class Price(Quantity): class Meta(Quantity.Meta): name = 'price' type, path = Quantity.Meta.get_type_and_path(name) json_unit_price = jsonapi_requests.orm.AttributeField('unit_price.decimal') json_total_price = jsonapi_requests.orm.AttributeField('total_price.decimal') @property def unit_price(self): return self.json_unit_price['decimal'] @property def total_price(self): return self.json_total_price['decimal'] class Material(Quantity): class Meta(Quantity.Meta): name = 'material' type, path = Quantity.Meta.get_type_and_path(name)