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

Problem using package with django-treebeard

Open martinjobb opened this issue 6 years ago • 0 comments

When saving an image in a model extended by MP_Node i get this error: 'tuple' object has no attribute '_committed' It seem as VersatileImageFileDescriptor returns a Tuple to pre_save (file = (<InMemoryUploadedFile: Collaborate.min-1150x550.jpg (image/jpeg)>, u''))

django-versatileimagefield==1.9 django-treebeard==4.3

Environment:
Request Method: POST
Request URL: http://localhost:8090/admin/offers/pagenode/add/

Django Version: 1.10.4
Python Version: 2.7.15
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.gis',
 'push_notifications',
 'corsheaders',
 'rest_framework',
 'rest_framework.authtoken',
 'rest_framework_gis',
 'raven.contrib.django.raven_compat',
 'phonenumber_field',
 'ckeditor',
 'versatileimagefield',
 'storages',
 'guardian',
 'location_field.apps.DefaultConfig',
 'mailqueue',
 'treebeard',
 'django_celery_results',
 'django_celery_beat',
 'core',
 'offers',
 'lyyti',
 'auth_token',
 'queue_mail',
 'nested_admin',
 'debug_toolbar']
Installed Middleware:
[u'raven.contrib.django.middleware.DjangoRestFrameworkCompatMiddleware',
 u'raven.contrib.django.middleware.SentryMiddleware',
 'debug_toolbar.middleware.DebugToolbarMiddleware',
 'corsheaders.middleware.CorsMiddleware',
 'django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'utils.middleware.api.Track400ErrorsMiddleware',
 'utils.middleware.api.VerifyClientVersionMiddleware']



Traceback:

File "/usr/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
  39.             response = get_response(request)

File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
  187.                 response = self.process_exception_by_middleware(e, request)

File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
  185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/usr/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in wrapper
  544.                 return self.admin_site.admin_view(view)(*args, **kwargs)

File "/usr/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
  149.                     response = view_func(request, *args, **kwargs)

File "/usr/local/lib/python2.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  57.         response = view_func(request, *args, **kwargs)

File "/usr/local/lib/python2.7/site-packages/django/contrib/admin/sites.py" in inner
  211.             return view(request, *args, **kwargs)

File "/usr/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in add_view
  1509.         return self.changeform_view(request, None, form_url, extra_context)

File "/usr/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapper
  67.             return bound_func(*args, **kwargs)

File "/usr/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
  149.                     response = view_func(request, *args, **kwargs)

File "/usr/local/lib/python2.7/site-packages/django/utils/decorators.py" in bound_func
  63.                 return func.__get__(self, type(self))(*args2, **kwargs2)

File "/usr/local/lib/python2.7/site-packages/django/utils/decorators.py" in inner
  185.                     return func(*args, **kwargs)

File "/usr/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in changeform_view
  1443.                 new_object = self.save_form(request, form, change=not add)

File "/usr/local/lib/python2.7/site-packages/django/contrib/admin/options.py" in save_form
  1001.         return form.save(commit=False)

File "/usr/local/lib/python2.7/site-packages/treebeard/forms.py" in save
  145.                 self.instance = self._meta.model.add_root(**cl_data)

File "/usr/local/lib/python2.7/site-packages/treebeard/mp_tree.py" in add_root
  625.         return MP_AddRootHandler(cls, **kwargs).process()

File "/usr/local/lib/python2.7/site-packages/treebeard/mp_tree.py" in process
  345.         newobj.save()

File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py" in save
  796.                        force_update=force_update, update_fields=update_fields)

File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py" in save_base
  824.             updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)

File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py" in _save_table
  908.             result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)

File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py" in _do_insert
  947.                                using=using, raw=raw)

File "/usr/local/lib/python2.7/site-packages/django/db/models/manager.py" in manager_method
  85.                 return getattr(self.get_queryset(), name)(*args, **kwargs)

File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py" in _insert
  1045.         return query.get_compiler(using=using).execute_sql(return_id)

File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in execute_sql
  1053.             for sql, params in self.as_sql():

File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in as_sql
  1006.                 for obj in self.query.objs

File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in pre_save_val
  955.         return field.pre_save(obj, add=True)

File "/usr/local/lib/python2.7/site-packages/versatileimagefield/fields.py" in pre_save
  83.         file = super(VersatileImageField, self).pre_save(model_instance, add)

File "/usr/local/lib/python2.7/site-packages/django/db/models/fields/files.py" in pre_save
  290.         if file and not file._committed:

Exception Type: AttributeError at /admin/offers/pagenode/add/
Exception Value: 'tuple' object has no attribute '_committed'

martinjobb avatar Sep 06 '18 09:09 martinjobb