aboutsummaryrefslogtreecommitdiffstats
path: root/examples/modelresourceexample
diff options
context:
space:
mode:
authorTom Christie2011-06-02 12:58:10 +0100
committerTom Christie2011-06-02 12:58:10 +0100
commitb50492853f537a2473bb0a9eea86c8b0ed6b8824 (patch)
treed289d39aacf187a8a0696a4c1c863aabe1472c3a /examples/modelresourceexample
parent7ee9adbe5c03c29cd4a894dd476548f7fe73b5e4 (diff)
parentfc1640de75511006e89f033c9270ec91a9f1e4d4 (diff)
downloaddjango-rest-framework-b50492853f537a2473bb0a9eea86c8b0ed6b8824.tar.bz2
pull in -dev as 0.2.0
Diffstat (limited to 'examples/modelresourceexample')
-rw-r--r--examples/modelresourceexample/models.py14
-rw-r--r--examples/modelresourceexample/urls.py15
-rw-r--r--examples/modelresourceexample/views.py18
3 files changed, 16 insertions, 31 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..bb71ddd3 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
-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'),
+class MyModelResource(ModelResource):
+ model = MyModel
+ fields = ('foo', 'bar', 'baz', 'url')
+ ordering = ('created',)
+
+urlpatterns = patterns('',
+ 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 e912c019..e69de29b 100644
--- a/examples/modelresourceexample/views.py
+++ b/examples/modelresourceexample/views.py
@@ -1,18 +0,0 @@
-from djangorestframework.modelresource import ModelResource, RootModelResource
-from modelresourceexample.models import MyModel
-
-FIELDS = ('foo', 'bar', 'baz', 'absolute_url')
-
-class MyModelRootResource(RootModelResource):
- """A create/list resource for MyModel.
- Available for both authenticated and anonymous access for the purposes of the sandbox."""
- model = MyModel
- allowed_methods = anon_allowed_methods = ('GET', 'POST')
- fields = FIELDS
-
-class MyModelResource(ModelResource):
- """A read/update/delete resource for MyModel.
- Available for both authenticated and anonymous access for the purposes of the sandbox."""
- model = MyModel
- allowed_methods = anon_allowed_methods = ('GET', 'PUT', 'DELETE')
- fields = FIELDS