MCPcopy Index your code
hub / github.com/encode/django-rest-framework / get_result_url

Method get_result_url

rest_framework/renderers.py:851–869  ·  view source on GitHub ↗

Attempt to reverse the result's detail view URL. This only works with views that are generic-like (has `.lookup_field`) and viewset-like (has `.basename` / `.reverse_action()`).

(self, result, view)

Source from the content-addressed store, hash-verified

849 return context
850
851 def get_result_url(self, result, view):
852 """
853 Attempt to reverse the result's detail view URL.
854
855 This only works with views that are generic-like (has `.lookup_field`)
856 and viewset-like (has `.basename` / `.reverse_action()`).
857 """
858 if not hasattr(view, 'reverse_action') or \
859 not hasattr(view, 'lookup_field'):
860 return
861
862 lookup_field = view.lookup_field
863 lookup_url_kwarg = getattr(view, 'lookup_url_kwarg', None) or lookup_field
864
865 try:
866 kwargs = {lookup_url_kwarg: result[lookup_field]}
867 return view.reverse_action('detail', kwargs=kwargs)
868 except (KeyError, NoReverseMatch):
869 return
870
871
872class MultiPartRenderer(BaseRenderer):

Callers 3

get_contextMethod · 0.95
test_get_result_urlMethod · 0.80

Calls 1

reverse_actionMethod · 0.45

Tested by 2

test_get_result_urlMethod · 0.64