aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Christie2011-05-16 09:14:01 +0100
committerTom Christie2011-05-16 09:14:01 +0100
commite92002ddde31fcc4ba3dee0f4a92a114c3c3a959 (patch)
tree27753af4e47398e01ca10e519e3e35c987ef8992
parent47645319c94fc536a2b3675edf8f2a02c1d11d12 (diff)
downloaddjango-rest-framework-e92002ddde31fcc4ba3dee0f4a92a114c3c3a959.tar.bz2
nested resources now working
-rw-r--r--djangorestframework/resources.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/djangorestframework/resources.py b/djangorestframework/resources.py
index b3545787..19218b35 100644
--- a/djangorestframework/resources.py
+++ b/djangorestframework/resources.py
@@ -10,6 +10,7 @@ import inspect
import re
+# TODO: _IgnoreFieldException
def _model_to_dict(instance, resource=None):
"""
@@ -32,9 +33,9 @@ def _model_to_dict(instance, resource=None):
#else:
# fields = set(opts.fields + opts.many_to_many)
- fields = resource.fields
- include = resource.include
- exclude = resource.exclude
+ fields = resource and resource.fields or ()
+ include = resource and resource.include or ()
+ exclude = resource and resource.exclude or ()
extra_fields = fields and list(resource.fields) or []
@@ -157,8 +158,13 @@ class FormResource(Resource):
On calling validate() this validator may set a `.bound_form_instance` attribute on the
view, which may be used by some renderers.
"""
+
+ """
+ The form class that should be used for request validation.
+ """
form = None
+
def validate_request(self, data, files):
"""
Given some content as input return some cleaned, validated content.
@@ -261,12 +267,12 @@ class ModelResource(FormResource):
If set to ``None`` then the default model form validation will be used.
"""
form = None
-
+
"""
The model class which this resource maps to.
"""
model = None
-
+
"""
The list of fields to use on the output.
@@ -286,7 +292,7 @@ class ModelResource(FormResource):
exclude = ('id', 'pk')
"""
- The list of fields to include. This is only used if ``fields`` is not set.
+ The list of extra fields to include. This is only used if ``fields`` is not set.
"""
include = ('url',)
@@ -342,7 +348,7 @@ class ModelResource(FormResource):
def url(self, instance):
"""
Attempts to reverse resolve the url of the given model instance for this resource.
-
+
Requires a ``View`` with ``InstanceMixin`` to have been created for this resource.
This method can be overridden if you need to set the resource url reversing explicitly.