django-imagekit icon indicating copy to clipboard operation
django-imagekit copied to clipboard

ImageSpecField with source null=True and blank=True

Open aronchi opened this issue 11 years ago • 6 comments

In my model I have a primary image and some optional ones:

foto = ProcessedImageField(upload_to=update_filename, processors=[ResizeToFit(800, 600,upscale=False)], format='JPEG', options={'quality': 80}    )
foto2 = ProcessedImageField(upload_to="photos/%Y/%m/%d/", help_text="Optional foto", processors=[ResizeToFit(800, 600,upscale=False)], format='JPEG', options={'quality': 80}, blank=True, null=True)

each one have a thumbnail:

foto_thumbnail = ImageSpecField(source='foto', processors=[ResizeToFill(170, 170)], format='JPEG', options={'quality': 80})
foto2_thumbnail = ImageSpecField(source='foto2', processors=[ResizeToFill(170, 170)], format='JPEG', options={'quality': 80})

But if I don't have a foto2

I get a runtimeError:

RuntimeError: maximum recursion depth exceeded while calling a Python object

This is a piece of my trackback:

File "/var/www/animalisenzacasa.org/local/lib/python2.7/site-packages/imagekit/specs/sourcegroups.py", line 33, in receiver
  fn(self, sender=sender, **kwargs)

File "/var/www/animalisenzacasa.org/local/lib/python2.7/site-packages/imagekit/specs/sourcegroups.py", line 101, in post_init_receiver
  self.update_source_hashes(instance)

File "/var/www/animalisenzacasa.org/local/lib/python2.7/site-packages/imagekit/specs/sourcegroups.py", line 76, in update_source_hashes
  for attname, file_field in self.get_field_dict(instance).items())

File "/var/www/animalisenzacasa.org/local/lib/python2.7/site-packages/imagekit/specs/sourcegroups.py", line 86, in get_field_dict
  src in self._source_groups if isinstance(instance, src.model_class))

File "/var/www/animalisenzacasa.org/local/lib/python2.7/site-packages/imagekit/specs/sourcegroups.py", line 86, in <genexpr>
  src in self._source_groups if isinstance(instance, src.model_class))

File "/var/www/animalisenzacasa.org/local/lib/python2.7/site-packages/django/db/models/query_utils.py", line 103, in __get__
  instance._state.db).get(pk=instance.pk),

File "/var/www/animalisenzacasa.org/local/lib/python2.7/site-packages/django/db/models/query.py", line 398, in get
  num = len(clone)

File "/var/www/animalisenzacasa.org/local/lib/python2.7/site-packages/django/db/models/query.py", line 106, in __len__
  self._result_cache = list(self.iterator())

File "/var/www/animalisenzacasa.org/local/lib/python2.7/site-packages/django/db/models/query.py", line 325, in iterator
  obj = model_cls(**dict(zip(init_list, row_data)))

File "/var/www/animalisenzacasa.org/local/lib/python2.7/site-packages/django/db/models/base.py", line 417, in __init__
  signals.post_init.send(sender=self.__class__, instance=self)

File "/var/www/animalisenzacasa.org/local/lib/python2.7/site-packages/django/dispatch/dispatcher.py", line 170, in send
  response = receiver(signal=self, sender=sender, **named)

Thanks in advance, best regards

aronchi avatar Nov 04 '13 21:11 aronchi

There are any solutions ?

anikievev avatar Dec 11 '13 13:12 anikievev

Sorry, haven't gotten to it yet!

matthewwithanm avatar Dec 11 '13 16:12 matthewwithanm

I can't seem to reproduce this. What versions of Django are you using? Also, can you share any relevant configuration? Thanks!

matthewwithanm avatar Dec 14 '13 15:12 matthewwithanm

This is my configuration. Please tell me if I can help you more.

argparse (1.2.1) Django (1.5.5) django-appconf (0.6) django-debug-toolbar (0.10.2) django-imagekit (3.0.4) Django-Memcache-for-Nginx (0.2.4) django-mysqlpool (0.1-9) django-report-builder (1.13) elementtree (1.2.6-20050316) gunicorn (18.0) MySQL-python (1.2.4) openpyxl (1.6.2) pilkit (1.1.5) Pillow (2.2.1) pip (1.4.1) pip-tools (0.3.4) python-dateutil (2.1) python-memcached (1.53) setproctitle (1.1.8) setuptools (0.9.8) six (1.4.1) South (0.8.2) SQLAlchemy (0.8.3) sqlparse (0.1.9) wsgiref (0.1.2)

aronchi avatar Dec 19 '13 00:12 aronchi

My django version is 1.5.5

2013/12/14 Matthew Dapena-Tretter [email protected]

I can't seem to reproduce this. What versions of Django are you using? Also, can you share any relevant configuration? Thanks!

— Reply to this email directly or view it on GitHubhttps://github.com/matthewwithanm/django-imagekit/issues/259#issuecomment-30576477 .

Alessandro Ronchi

aronchi avatar Jan 15 '14 19:01 aronchi

Can you show me where foto2_thumbnail is being accessed? (Template, etc.)

matthewwithanm avatar Jan 27 '14 16:01 matthewwithanm