mirror of
https://github.com/Hopiu/django-imagekit.git
synced 2026-03-16 21:30:23 +00:00
Fix pickling of ImageSpecFieldFile
Code now passes the test added in 118f6e4. Hopefully this will
address #97.
This commit is contained in:
parent
118f6e4206
commit
becee54c03
1 changed files with 19 additions and 1 deletions
|
|
@ -11,7 +11,6 @@ class ImageSpecFieldFile(ImageFieldFile):
|
|||
def __init__(self, instance, field, attname):
|
||||
super(ImageSpecFieldFile, self).__init__(instance, field, None)
|
||||
self.attname = attname
|
||||
self.storage = self.field.storage or self.source_file.storage
|
||||
|
||||
@property
|
||||
def source_file(self):
|
||||
|
|
@ -145,6 +144,25 @@ class ImageSpecFieldFile(ImageFieldFile):
|
|||
# it at least that one time.
|
||||
pass
|
||||
|
||||
@property
|
||||
def storage(self):
|
||||
return getattr(self, '_storage', None) or self.field.storage or self.source_file.storage
|
||||
|
||||
@storage.setter
|
||||
def storage(self, storage):
|
||||
self._storage = storage
|
||||
|
||||
def __getstate__(self):
|
||||
return dict(
|
||||
attname=self.attname,
|
||||
instance=self.instance,
|
||||
)
|
||||
|
||||
def __setstate__(self, state):
|
||||
self.attname = state['attname']
|
||||
self.instance = state['instance']
|
||||
self.field = getattr(self.instance.__class__, self.attname)
|
||||
|
||||
|
||||
class ProcessedImageFieldFile(ImageFieldFile):
|
||||
def save(self, name, content, save=True):
|
||||
|
|
|
|||
Loading…
Reference in a new issue