diff options
| author | Tom Christie | 2011-06-15 14:09:01 +0100 | 
|---|---|---|
| committer | Tom Christie | 2011-06-15 14:09:01 +0100 | 
| commit | 7dcb851c7f1e4bc01105fc5856494c196827fe2e (patch) | |
| tree | 7c0e02a8e504b66e7a33af69f8cd60ed1ad25df3 /examples/blogpost | |
| parent | 412b5fc2d54def2f2601b860b80afaa52d595e58 (diff) | |
| download | django-rest-framework-7dcb851c7f1e4bc01105fc5856494c196827fe2e.tar.bz2 | |
Allow related models to be fully serialized
Diffstat (limited to 'examples/blogpost')
| -rw-r--r-- | examples/blogpost/models.py | 3 | ||||
| -rw-r--r-- | examples/blogpost/urls.py | 31 | 
2 files changed, 5 insertions, 29 deletions
diff --git a/examples/blogpost/models.py b/examples/blogpost/models.py index c4925a15..d77f530d 100644 --- a/examples/blogpost/models.py +++ b/examples/blogpost/models.py @@ -22,6 +22,9 @@ class BlogPost(models.Model):      slug = models.SlugField(editable=False, default='')      def save(self, *args, **kwargs): +        """ +        For the purposes of the sandbox, limit the maximum number of stored models. +        """          self.slug = slugify(self.title)          super(self.__class__, self).save(*args, **kwargs)          for obj in self.__class__.objects.order_by('-created')[MAX_POSTS:]: diff --git a/examples/blogpost/urls.py b/examples/blogpost/urls.py index 6fde612e..e9bd2754 100644 --- a/examples/blogpost/urls.py +++ b/examples/blogpost/urls.py @@ -1,38 +1,11 @@  from django.conf.urls.defaults import patterns, url -from django.core.urlresolvers import reverse -  from djangorestframework.views import ListOrCreateModelView, InstanceModelView -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. -    """ -    class Meta: -        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*.  -    """ -    class Meta: -        model = Comment -        fields = ('username', 'comment', 'created', 'rating', 'url', 'blogpost') -        ordering = ('-created',) +from blogpost.resources import BlogPostResource, CommentResource  urlpatterns = patterns('',      url(r'^$', ListOrCreateModelView.as_view(resource=BlogPostResource), name='blog-posts-root'), -    url(r'^(?P<key>[^/]+)/$', InstanceModelView.as_view(resource=BlogPostResource)), +    url(r'^(?P<key>[^/]+)/$', InstanceModelView.as_view(resource=BlogPostResource), name='blog-post'),      url(r'^(?P<blogpost>[^/]+)/comments/$', ListOrCreateModelView.as_view(resource=CommentResource), name='comments'),      url(r'^(?P<blogpost>[^/]+)/comments/(?P<id>[^/]+)/$', InstanceModelView.as_view(resource=CommentResource)),  )  | 
