aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarko Tibold2012-09-08 21:56:18 +0200
committerMarko Tibold2012-09-08 21:56:18 +0200
commit55f7dd9bcede90d6c5596e357035007b26a98dba (patch)
treedc8ad6609df201441420ab61d243b528bcac9384
parent024780a974eed66a45f27f27cfbec28bd1432d07 (diff)
downloaddjango-rest-framework-55f7dd9bcede90d6c5596e357035007b26a98dba.tar.bz2
`error_data` -> `errors`
Prefill form for instance view.
-rw-r--r--djangorestframework/mixins.py2
-rw-r--r--djangorestframework/renderers.py11
2 files changed, 9 insertions, 4 deletions
diff --git a/djangorestframework/mixins.py b/djangorestframework/mixins.py
index 6ab7ab6e..1f06dd34 100644
--- a/djangorestframework/mixins.py
+++ b/djangorestframework/mixins.py
@@ -22,7 +22,7 @@ class CreateModelMixin(object):
self.object = serializer.object
self.object.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
- return Response(serializer.error_data, status=status.HTTP_400_BAD_REQUEST)
+ return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
class ListModelMixin(object):
diff --git a/djangorestframework/renderers.py b/djangorestframework/renderers.py
index 4a14d5ee..a94fcd5c 100644
--- a/djangorestframework/renderers.py
+++ b/djangorestframework/renderers.py
@@ -248,11 +248,16 @@ class DocumentingTemplateRenderer(BaseRenderer):
# Creating an on the fly form see: http://stackoverflow.com/questions/3915024/dynamically-creating-classes-python
fields = {}
- for k, v in self.view.get_serializer().fields.items():
+ object, data = None, None
+ if hasattr(self.view, 'object'):
+ object = self.view.object
+ serializer = self.view.get_serializer(instance=object)
+ for k, v in serializer.fields.items():
fields[k] = field_mapping[v.__class__.__name__]()
OnTheFlyForm = type("OnTheFlyForm", (forms.Form,), fields)
-
- form_instance = OnTheFlyForm(self.view.get_serializer().data)
+ if object:
+ data = serializer.data
+ form_instance = OnTheFlyForm(data)
return form_instance
def _get_generic_content_form(self, view):