aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorTom Christie2012-02-23 09:21:01 +0000
committerTom Christie2012-02-23 09:21:01 +0000
commite15494a172f19d9388c0888fb566907aad95de0c (patch)
treed7c8f83fe93a3bade46ac5533f5bc8121a3cf332 /examples
parent2b59df004a5bb7449aa4c07277ac846c330a79f7 (diff)
downloaddjango-rest-framework-e15494a172f19d9388c0888fb566907aad95de0c.tar.bz2
Remove InstanceMixin auto-url magicks.
Diffstat (limited to 'examples')
-rw-r--r--examples/blogpost/models.py3
-rw-r--r--examples/blogpost/resources.py5
-rw-r--r--examples/modelresourceexample/resources.py6
-rw-r--r--examples/modelresourceexample/urls.py7
-rw-r--r--examples/resourceexample/views.py6
5 files changed, 23 insertions, 4 deletions
diff --git a/examples/blogpost/models.py b/examples/blogpost/models.py
index d77f530d..10732ab4 100644
--- a/examples/blogpost/models.py
+++ b/examples/blogpost/models.py
@@ -2,6 +2,7 @@ from django.db import models
from django.template.defaultfilters import slugify
import uuid
+
def uuid_str():
return str(uuid.uuid1())
@@ -14,6 +15,7 @@ RATING_CHOICES = ((0, 'Awful'),
MAX_POSTS = 10
+
class BlogPost(models.Model):
key = models.CharField(primary_key=True, max_length=64, default=uuid_str, editable=False)
title = models.CharField(max_length=128)
@@ -37,4 +39,3 @@ class Comment(models.Model):
comment = models.TextField()
rating = models.IntegerField(blank=True, null=True, choices=RATING_CHOICES, help_text='How did you rate this post?')
created = models.DateTimeField(auto_now_add=True)
-
diff --git a/examples/blogpost/resources.py b/examples/blogpost/resources.py
index ac00a734..c3166bcf 100644
--- a/examples/blogpost/resources.py
+++ b/examples/blogpost/resources.py
@@ -11,6 +11,11 @@ class BlogPostResource(ModelResource):
fields = ('created', 'title', 'slug', 'content', 'url', 'comments')
ordering = ('-created',)
+ def url(self, instance):
+ return reverse('blog-post',
+ kwargs={'key': instance.key},
+ request=self.request)
+
def comments(self, instance):
return reverse('comments',
kwargs={'blogpost': instance.key},
diff --git a/examples/modelresourceexample/resources.py b/examples/modelresourceexample/resources.py
index 05090f8f..b74b0572 100644
--- a/examples/modelresourceexample/resources.py
+++ b/examples/modelresourceexample/resources.py
@@ -1,4 +1,5 @@
from djangorestframework.resources import ModelResource
+from djangorestframework.reverse import reverse
from modelresourceexample.models import MyModel
@@ -6,3 +7,8 @@ class MyModelResource(ModelResource):
model = MyModel
fields = ('foo', 'bar', 'baz', 'url')
ordering = ('created',)
+
+ def url(self, instance):
+ return reverse('model-resource-instance',
+ kwargs={'id': instance.id},
+ request=self.request)
diff --git a/examples/modelresourceexample/urls.py b/examples/modelresourceexample/urls.py
index c680dc65..c5e1f874 100644
--- a/examples/modelresourceexample/urls.py
+++ b/examples/modelresourceexample/urls.py
@@ -2,7 +2,10 @@ from django.conf.urls.defaults import patterns, url
from djangorestframework.views import ListOrCreateModelView, InstanceModelView
from modelresourceexample.resources import MyModelResource
+my_model_list = ListOrCreateModelView.as_view(resource=MyModelResource)
+my_model_instance = InstanceModelView.as_view(resource=MyModelResource)
+
urlpatterns = patterns('',
- url(r'^$', ListOrCreateModelView.as_view(resource=MyModelResource), name='model-resource-root'),
- url(r'^(?P<id>[0-9]+)/$', InstanceModelView.as_view(resource=MyModelResource), name='model-resource-instance'),
+ url(r'^$', my_model_list, name='model-resource-root'),
+ url(r'^(?P<id>[0-9]+)/$', my_model_instance, name='model-resource-instance'),
)
diff --git a/examples/resourceexample/views.py b/examples/resourceexample/views.py
index fcd0b273..0db23804 100644
--- a/examples/resourceexample/views.py
+++ b/examples/resourceexample/views.py
@@ -15,7 +15,11 @@ class ExampleView(View):
"""
Handle GET requests, returning a list of URLs pointing to 3 other views.
"""
- return {"Some other resources": [reverse('another-example', kwargs={'num':num}, request=request) for num in range(3)]}
+ resource_urls = [reverse('another-example',
+ kwargs={'num': num},
+ request=request)
+ for num in range(3)]
+ return {"Some other resources": resource_urls}
class AnotherExampleView(View):