Skip to content

Problem using package with django-treebeard #134

Open

Description

@martinjobb

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'

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions