'This is a little weird, but I couldn\'t find a better solution.
Thumbnailer.__init__ is called first for proper object inizialization.
Then we override some attributes defined at runtime with properties.
We cannot simply call super().__init__ because filer Field objects
doesn\'t have a storage attribute.'

def __init__(self, instance, field, name):

    easy_thumbnails_files.Thumbnailer.__init__(self, None, name)
    self.instance = instance
    self.field = field
    self._committed = True
    self.storages = self.field.storages
    self.thumbnail_storages = self.field.thumbnail_storages
    self.thumbnail_options = self.field.thumbnail_options
    self.storage = self._storage
    self.source_storage = self._source_storage
    self.thumbnail_storage = self._thumbnail_storage
    self.thumbnail_basedir = self._thumbnail_base_dir
