def validate_min_and_max(value): # Turn value into a Decimal. if isinstance(value, Decimal128): value = value.to_decimal() elif not isinstance(value, decimal.Decimal): value = decimal.Decimal(value) validators.validator_for_min_max(min_value, max_value)(value)
def __init__(self, verbose_name=None, mongo_name=None, min_value=None, max_value=None, **kwargs): """ :parameters: - `verbose_name`: A human-readable name for the Field. - `mongo_name`: The name of this field when stored in MongoDB. - `min_value`: The minimum value that can be stored in this field. - `max_value`: The maximum value that can be stored in this field. .. seealso:: constructor for :class:`~pymodm.base.fields.MongoBaseField` """ super(LDataTypeField, self).__init__(verbose_name=verbose_name, mongo_name=mongo_name, **kwargs) def validate_ldatatype(value): try: self.DATA_TYPE(value) except ValueError: msg = '%r is not a valid %s.' % value, self.DATA_TYPE.__name__ raise ValidationError(msg) self.validators.append( validators.together( validators.validator_for_func(int), validators.validator_for_min_max(min_value, max_value), validate_ldatatype))
def __init__(self, verbose_name=None, mongo_name=None, min_value=None, max_value=None, **kwargs): """ :parameters: - `verbose_name`: A human-readable name for the Field. - `mongo_name`: The name of this field when stored in MongoDB. - `min_value`: The minimum value that can be stored in this field. - `max_value`: The maximum value that can be stored in this field. .. seealso:: constructor for :class:`~pymodm.base.fields.MongoBaseField` """ super(FloatField, self).__init__(verbose_name=verbose_name, mongo_name=mongo_name, **kwargs) self.validators.append( validators.together( validators.validator_for_func(float), validators.validator_for_min_max(min_value, max_value)))
def __init__(self, verbose_name=None, mongo_name=None, min_value=None, max_value=None, **kwargs): """ :parameters: - `verbose_name`: A human-readable name for the Field. - `mongo_name`: The name of this field when stored in MongoDB. - `min_value`: The minimum value that can be stored in this field. - `max_value`: The maximum value that can be stored in this field. .. seealso:: constructor for :class:`~pymodm.base.fields.MongoBaseField` """ super(IntegerField, self).__init__(verbose_name=verbose_name, mongo_name=mongo_name, **kwargs) self.validators.append( validators.together( validators.validator_for_func(int), validators.validator_for_min_max(min_value, max_value)))
def validate_min_and_max(value): # Turn value into a Decimal. value = value.to_decimal() validators.validator_for_min_max(min_value, max_value)(value)