aboutsummaryrefslogtreecommitdiffstats
path: root/examples/blogpost/resources.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/blogpost/resources.py')
-rw-r--r--examples/blogpost/resources.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/examples/blogpost/resources.py b/examples/blogpost/resources.py
new file mode 100644
index 00000000..9b91ed73
--- /dev/null
+++ b/examples/blogpost/resources.py
@@ -0,0 +1,27 @@
+from django.core.urlresolvers import reverse
+from djangorestframework.resources import ModelResource
+from blogpost.models import BlogPost, Comment
+
+
+class BlogPostResource(ModelResource):
+ """
+ A Blog Post has a *title* and *content*, and can be associated with zero or more comments.
+ """
+ model = BlogPost
+ fields = ('created', 'title', 'slug', 'content', 'url', 'comments')
+ ordering = ('-created',)
+
+ def comments(self, instance):
+ return reverse('comments', kwargs={'blogpost': instance.key})
+
+
+class CommentResource(ModelResource):
+ """
+ A Comment is associated with a given Blog Post and has a *username* and *comment*, and optionally a *rating*.
+ """
+ model = Comment
+ fields = ('username', 'comment', 'created', 'rating', 'url', 'blogpost')
+ ordering = ('-created',)
+
+ def blogpost(self, instance):
+ return reverse('blog-post', kwargs={'key': instance.blogpost.key}) \ No newline at end of file