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` """ if not _HAS_DECIMAL128: raise ConfigurationError( 'Need PyMongo >= 3.4 in order to use Decimal128Field.') super(Decimal128Field, self).__init__(verbose_name=verbose_name, mongo_name=mongo_name, **kwargs) 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) self.validators.append( validators.together(validators.validator_for_func(self.to_mongo), validate_min_and_max))
def image(self): """The underlying image.""" if Image is None: raise ConfigurationError( 'PIL or Pillow must be installed to access the "image" ' 'property on an ImageFieldFile.') if not hasattr(self, '_image') or self._image is None: self._image = Image.open(self.file) return self._image
def __init__(self, verbose_name=None, mongo_name=None, storage=None, **kwargs): """ :parameters: - `verbose_name`: A human-readable name for the Field. - `mongo_name`: The name of this field when stored in MongoDB. - `storage`: The :class:`~pymodm.files.Storage` implementation to use for saving and opening files. .. seealso:: constructor for :class:`~pymodm.base.fields.MongoBaseField` """ if not _HAS_PILLOW: raise ConfigurationError( 'The PIL or Pillow library must be installed in order ' 'to use ImageField.') super(ImageField, self).__init__(verbose_name=verbose_name, mongo_name=mongo_name, storage=storage, **kwargs) self.validators.append(validators.validator_for_func(Image.open))