Skip to content

Instantly share code, notes, and snippets.

@edsu
Created September 15, 2011 18:59
Show Gist options
  • Select an option

  • Save edsu/1220142 to your computer and use it in GitHub Desktop.

Select an option

Save edsu/1220142 to your computer and use it in GitHub Desktop.
class CampaignResource(ModelResource):
work = fields.ForeignKey(WorkResource, 'work')
class Meta:
queryset = models.Campaign.objects.all()
resource_name = 'campaign'
excludes = ['amazon_receiver', 'paypal_receiver']
def override_urls(self):
return [
url(r'^campaign/isbn/(?P<isbn>.+)', self.wrap_view('isbn'), name='api_campaign_isbn')
]
def isbn(self, request, isbn, **kwargs):
self.method_check(request, allowed=['get'])
self.is_authenticated(request)
self.throttle_check(request)
# just an example of getting a model
campaign = models.Campaign.objects.all()[0]
bundle = self.build_bundle(obj=campaign, request=request)
bundle = self.full_dehydrate(bundle)
objects = [bundle]
object_list = {'objects': objects}
return self.create_response(request, object_list)
@edsu
Copy link
Copy Markdown
Author

edsu commented Sep 15, 2011

{"error_message": "Reverse for 'api_dispatch_detail' with arguments '()' and keyword arguments '{'pk': 1, 'api_name': 'v1', 'resource_name': 'work'}' not found.", "traceback": "Traceback (most recent call last):\n\n File "/home/ed/.virtualenvs/regluit/lib/python2.6/site-packages/tastypie/resources.py", line 186, in wrapper\n response = callback(request, _args, *_kwargs)\n\n File "/home/ed/Projects/regluit/api/resources.py", line 53, in isbn\n bundle = self.full_dehydrate(bundle)\n\n File "/home/ed/.virtualenvs/regluit/lib/python2.6/site-packages/tastypie/resources.py", line 648, in full_dehydrate\n bundle.data[field_name] = field_object.dehydrate(bundle)\n\n File "/home/ed/.virtualenvs/regluit/lib/python2.6/site-packages/tastypie/fields.py", line 609, in dehydrate\n return self.dehydrate_related(fk_bundle, self.fk_resource)\n\n File "/home/ed/.virtualenvs/regluit/lib/python2.6/site-packages/tastypie/fields.py", line 503, in dehydrate_related\n return related_resource.get_resource_uri(bundle)\n\n File "/home/ed/.virtualenvs/regluit/lib/python2.6/site-packages/tastypie/resources.py", line 1807, in get_resource_uri\n return self._build_reverse_url("api_dispatch_detail", kwargs=kwargs)\n\n File "/home/ed/.virtualenvs/regluit/lib/python2.6/site-packages/tastypie/resources.py", line 266, in _build_reverse_url\n return reverse(name, args=args, kwargs=kwargs)\n\n File "/home/ed/.virtualenvs/regluit/lib/python2.6/site-packages/django/core/urlresolvers.py", line 391, in reverse\n _args, *_kwargs)))\n\n File "/home/ed/.virtualenvs/regluit/lib/python2.6/site-packages/django/core/urlresolvers.py", line 337, in reverse\n "arguments '%s' not found." % (lookup_view_s, args, kwargs))\n\nNoReverseMatch: Reverse for 'api_dispatch_detail' with arguments '()' and keyword arguments '{'pk': 1, 'api_name': 'v1', 'resource_name': 'work'}' not found.\n"}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment