Source code for fairdm.db.fields
"""Model fields that store quantities and partial dates."""
from decimal import Decimal
from partial_date import PartialDateField as BasePartialDateField
from quantityfield import fields
from fairdm.forms import fields as form_fields
[docs]
class BigIntegerQuantityField(fields.BigIntegerQuantityField):
"""A quantity field storing big integer values."""
form_field_class = form_fields.IntegerQuantityFormField
to_number_type = int
[docs]
class DecimalQuantityField(fields.DecimalQuantityField):
"""A quantity field storing decimal values."""
form_field_class = form_fields.DecimalQuantityFormField
to_number_type = Decimal
[docs]
class IntegerQuantityField(fields.IntegerQuantityField):
"""A quantity field storing integer values."""
form_field_class = form_fields.IntegerQuantityFormField
to_number_type = int
[docs]
class PositiveIntegerQuantityField(fields.PositiveIntegerQuantityField):
"""A quantity field storing positive integer values."""
form_field_class = form_fields.IntegerQuantityFormField
to_number_type = int
[docs]
class QuantityField(fields.QuantityField):
"""A quantity field storing float values."""
form_field_class = form_fields.QuantityFormField
to_number_type = float
[docs]
class PartialDateField(BasePartialDateField):
"""A date field that accepts a year, a year and month, or a full date."""