tangentlabs / django-fancypages

A Content Enhancement System for Django
https://django-fancypages.readthedocs.org
BSD 3-Clause "New" or "Revised" License
34 stars 11 forks source link

Issue with Django 1.7 RC2 #55

Open roadsideseb opened 10 years ago

roadsideseb commented 10 years ago

Updating one of your projects to use Django 1.7 RC2 broke fancypages when trying to retrieve the edit form for a page. The corresponding stacktrace is:

Traceback (most recent call last):
  File "/home/elbaschid/.virtualenvs/dimeo/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/elbaschid/.virtualenvs/dimeo/local/lib/python2.7/site-packages/django/views/generic/base.py", line 69, in view
    return self.dispatch(request, *args, **kwargs)
  File "/home/elbaschid/.virtualenvs/dimeo/local/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 57, in wrapped_view
    return view_func(*args, **kwargs)
  File "/home/elbaschid/.virtualenvs/dimeo/local/lib/python2.7/site-packages/rest_framework/views.py", line 400, in dispatch
    response = self.handle_exception(exc)
  File "/home/elbaschid/.virtualenvs/dimeo/local/lib/python2.7/site-packages/rest_framework/views.py", line 397, in dispatch
    response = handler(request, *args, **kwargs)
  File "/home/elbaschid/.virtualenvs/dimeo/local/lib/python2.7/site-packages/rest_framework/generics.py", line 434, in get
    return self.retrieve(request, *args, **kwargs)
  File "/home/elbaschid/.virtualenvs/dimeo/local/lib/python2.7/site-packages/rest_framework/mixins.py", line 108, in retrieve
    return Response(serializer.data)
  File "/home/elbaschid/.virtualenvs/dimeo/local/lib/python2.7/site-packages/rest_framework/serializers.py", line 575, in data
    self._data = self.to_native(obj)
  File "/home/elbaschid/.virtualenvs/dimeo/local/lib/python2.7/site-packages/rest_framework/serializers.py", line 351, in to_native
    value = field.field_to_native(obj, field_name)
  File "/home/elbaschid/.virtualenvs/dimeo/local/lib/python2.7/site-packages/rest_framework/fields.py", line 1035, in field_to_native
    value = getattr(self.parent, self.method_name)(obj)
  File "/home/elbaschid/.virtualenvs/dimeo/src/django-fancypages/fancypages/api/serialisers.py", line 78, in get_model_form
    form = self.get_form_class(obj)(instance=obj)
  File "/home/elbaschid/.virtualenvs/dimeo/src/django-fancypages/fancypages/api/serialisers.py", line 75, in get_form_class
    return modelform_factory(model, form=form_class)
  File "/home/elbaschid/.virtualenvs/dimeo/local/lib/python2.7/site-packages/django/forms/models.py", line 541, in modelform_factory
    return type(form)(class_name, (form,), form_class_attrs)
  File "/home/elbaschid/.virtualenvs/dimeo/local/lib/python2.7/site-packages/django/forms/models.py", line 284, in __new__
    opts.help_texts, opts.error_messages)
  File "/home/elbaschid/.virtualenvs/dimeo/local/lib/python2.7/site-packages/django/forms/models.py", line 210, in fields_for_model
    formfield = f.formfield(**kwargs)
  File "/home/elbaschid/.virtualenvs/dimeo/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 1063, in formfield
    return super(CharField, self).formfield(**defaults)
  File "/home/elbaschid/.virtualenvs/dimeo/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 822, in formfield
    defaults['choices'] = self.get_choices(include_blank=include_blank)
  File "/home/elbaschid/.virtualenvs/dimeo/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 733, in get_choices
    named_groups = self.choices and isinstance(self.choices[0][1], (list, tuple))
TypeError: 'itertools.tee' object has no attribute '__getitem__'

There've most likely been changes to the Django internals that break an assumption made in fancypages. I've got to investigate the issue for this.