Skip to content

Instantly share code, notes, and snippets.

@mattdeboard
Last active December 22, 2015 10:08

Revisions

  1. mattdeboard revised this gist Sep 5, 2013. 1 changed file with 10 additions and 4 deletions.
    14 changes: 10 additions & 4 deletions resources.py
    Original file line number Diff line number Diff line change
    @@ -11,7 +11,13 @@ def prepend_urls(self):

    def user_by_username(self, request, **kwargs):
    response_class = HttpResponse
    user = get_object_or_404(User, username=kwargs.pop('username'))
    bundle = Bundle(user, request=request)
    data = UserResource().full_dehydrate(bundle)
    return self.create_response(request, data, response_class)
    try:
    user = User.objects.get(username=kwargs['username'])
    except User.DoesNotExist:
    data = []
    response_class = HttpResponseNotFound
    else:
    bundle = Bundle(user, request=request)
    data = UserResource().full_dehydrate(bundle)
    finally:
    return self.create_response(request, data, response_class)
  2. mattdeboard created this gist Sep 5, 2013.
    17 changes: 17 additions & 0 deletions resources.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,17 @@
    class ProfileResource(ModelResource):
    user = fields.ForeignKey(UserResource, 'user')

    def prepend_urls(self):
    urls = [
    url(r'^(?P<resource_name>%s)/(?P<username>[\w\d_.-]+)/$' %\
    self._meta.resource_name, self.wrap_view('user_by_username'),
    name='profile_user_by_username')
    ]
    return urls

    def user_by_username(self, request, **kwargs):
    response_class = HttpResponse
    user = get_object_or_404(User, username=kwargs.pop('username'))
    bundle = Bundle(user, request=request)
    data = UserResource().full_dehydrate(bundle)
    return self.create_response(request, data, response_class)