Closed
Description
There's no error for json. And this doesn't happen for every serializer with a nested serializer - it seems to occur only when the nested serializer itself has a nested serializer. This is using django rest framework version 3.3.1. Here's the traceback:
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/api/endpoints/3/
Django Version: 1.8.7
Python Version: 2.7.10
Template error:
In template /Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/rest_framework/templates/rest_framework/horizontal/fieldset.html, error at line 13
'unicode' object has no attribute 'items'
3 : {% if field.label %}
4 : <div class="form-group" style="border-bottom: 1px solid #e5e5e5">
5 : <legend class="control-label col-sm-2 {% if style.hide_label %}sr-only{% endif %}" style="border-bottom: 0">
6 : {{ field.label }}
7 : </legend>
8 : </div>
9 : {% endif %}
10 :
11 : {% for nested_field in field %}
12 : {% if not nested_field.read_only %}
13 : {% render_field nested_field style=style %}
14 : {% endif %}
15 : {% endfor %}
16 : </fieldset>
17 :
Traceback:
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
164. response = response.render()
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/response.py" in render
158. self.content = self.rendered_content
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/rest_framework/response.py" in rendered_content
71. ret = renderer.render(self.data, media_type, context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/rest_framework/renderers.py" in render
711. context = self.get_context(data, accepted_media_type, renderer_context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/rest_framework/renderers.py" in get_context
738. data, accepted_media_type, renderer_context
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/rest_framework/renderers.py" in get_context
648. 'put_form': self.get_rendered_html_form(data, view, 'PUT', request),
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/rest_framework/renderers.py" in get_rendered_html_form
499. {'style': {'template_pack': 'rest_framework/horizontal'}}
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/rest_framework/renderers.py" in render
357. return template.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/backends/django.py" in render
74. return self.template.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/base.py" in render
210. return self._render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
96. return self.nodelist.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/base.py" in render
905. bit = self.render_node(node, context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/debug.py" in render_node
79. return node.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/defaulttags.py" in render
217. nodelist.append(node.render(context))
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/defaulttags.py" in render
329. return nodelist.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/base.py" in render
905. bit = self.render_node(node, context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/debug.py" in render_node
79. return node.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/base.py" in render
1197. return func(*resolved_args, **resolved_kwargs)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/rest_framework/templatetags/rest_framework.py" in render_field
37. return renderer.render_field(field, style)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/rest_framework/renderers.py" in render_field
337. return template.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/backends/django.py" in render
74. return self.template.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/base.py" in render
210. return self._render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
96. return self.nodelist.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/base.py" in render
905. bit = self.render_node(node, context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/debug.py" in render_node
79. return node.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/defaulttags.py" in render
217. nodelist.append(node.render(context))
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/defaulttags.py" in render
329. return nodelist.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/base.py" in render
905. bit = self.render_node(node, context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/debug.py" in render_node
79. return node.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/base.py" in render
1197. return func(*resolved_args, **resolved_kwargs)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/rest_framework/templatetags/rest_framework.py" in render_field
37. return renderer.render_field(field, style)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/rest_framework/renderers.py" in render_field
337. return template.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/backends/django.py" in render
74. return self.template.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/base.py" in render
210. return self._render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
96. return self.nodelist.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/base.py" in render
905. bit = self.render_node(node, context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/debug.py" in render_node
79. return node.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/defaulttags.py" in render
217. nodelist.append(node.render(context))
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/defaulttags.py" in render
329. return nodelist.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/base.py" in render
905. bit = self.render_node(node, context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/debug.py" in render_node
79. return node.render(context)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/django/template/base.py" in render
1197. return func(*resolved_args, **resolved_kwargs)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/rest_framework/templatetags/rest_framework.py" in render_field
37. return renderer.render_field(field, style)
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/rest_framework/renderers.py" in render_field
325. field = field.as_form_field()
File "/Users/user/virtualenvs/ddrsite/lib/python2.7/site-packages/rest_framework/utils/serializer_helpers.py" in as_form_field
111. for key, value in self.value.items():
Exception Type: AttributeError at /api/endpoints/3/
Exception Value: 'unicode' object has no attribute 'items'