aboutsummaryrefslogtreecommitdiffstats
path: root/examples/modelresourceexample
diff options
context:
space:
mode:
authorTom Christie2011-05-16 14:11:36 +0100
committerTom Christie2011-05-16 14:11:36 +0100
commit1e04790d505a1174f9e3c4481288982f9e7fd6c0 (patch)
tree09c5b29acdc820dc3fc1108f3503cde03d725eb9 /examples/modelresourceexample
parente92002ddde31fcc4ba3dee0f4a92a114c3c3a959 (diff)
downloaddjango-rest-framework-1e04790d505a1174f9e3c4481288982f9e7fd6c0.tar.bz2
Fixing some of the last blocking issues
Diffstat (limited to 'examples/modelresourceexample')
-rw-r--r--examples/modelresourceexample/models.py14
-rw-r--r--examples/modelresourceexample/urls.py13
-rw-r--r--examples/modelresourceexample/views.py16
3 files changed, 15 insertions, 28 deletions
diff --git a/examples/modelresourceexample/models.py b/examples/modelresourceexample/models.py
index 16047524..ff0179c8 100644
--- a/examples/modelresourceexample/models.py
+++ b/examples/modelresourceexample/models.py
@@ -7,17 +7,13 @@ class MyModel(models.Model):
bar = models.IntegerField(help_text='Must be an integer.')
baz = models.CharField(max_length=32, help_text='Free text. Max length 32 chars.')
created = models.DateTimeField(auto_now_add=True)
-
- class Meta:
- ordering = ('created',)
def save(self, *args, **kwargs):
- """For the purposes of the sandbox, limit the maximum number of stored models."""
+ """
+ For the purposes of the sandbox limit the maximum number of stored models.
+ """
super(MyModel, self).save(*args, **kwargs)
while MyModel.objects.all().count() > MAX_INSTANCES:
- MyModel.objects.all()[0].delete()
-
- @models.permalink
- def get_absolute_url(self):
- return ('my-model-resource', (self.pk,))
+ MyModel.objects.all().order_by('-created')[0].delete()
+
diff --git a/examples/modelresourceexample/urls.py b/examples/modelresourceexample/urls.py
index 53d950cd..5860c807 100644
--- a/examples/modelresourceexample/urls.py
+++ b/examples/modelresourceexample/urls.py
@@ -1,7 +1,14 @@
from django.conf.urls.defaults import patterns, url
-from modelresourceexample.views import MyModelRootResource, MyModelResource
+from djangorestframework.views import ListOrCreateModelView, InstanceModelView
+from djangorestframework.resources import ModelResource
+from modelresourceexample.models import MyModel
+
+class MyModelResource(ModelResource):
+ model = MyModel
+ fields = ('foo', 'bar', 'baz', 'url')
+ ordering = ('created',)
urlpatterns = patterns('modelresourceexample.views',
- url(r'^$', MyModelRootResource.as_view(), name='my-model-root-resource'),
- url(r'^([0-9]+)/$', MyModelResource.as_view(), name='my-model-resource'),
+ url(r'^$', ListOrCreateModelView.as_view(resource=MyModelResource), name='model-resource-root'),
+ url(r'^([0-9]+)/$', InstanceModelView.as_view(resource=MyModelResource)),
)
diff --git a/examples/modelresourceexample/views.py b/examples/modelresourceexample/views.py
index 5495a293..e69de29b 100644
--- a/examples/modelresourceexample/views.py
+++ b/examples/modelresourceexample/views.py
@@ -1,16 +0,0 @@
-from djangorestframework.modelresource import InstanceModelResource, ListOrCreateModelResource
-from modelresourceexample.models import MyModel
-
-FIELDS = ('foo', 'bar', 'baz', 'absolute_url')
-
-class MyModelRootResource(ListOrCreateModelResource):
- """A create/list resource for MyModel.
- Available for both authenticated and anonymous access for the purposes of the sandbox."""
- model = MyModel
- fields = FIELDS
-
-class MyModelResource(InstanceModelResource):
- """A read/update/delete resource for MyModel.
- Available for both authenticated and anonymous access for the purposes of the sandbox."""
- model = MyModel
- fields = FIELDS