Skip to content

Instantly share code, notes, and snippets.

@kdeloach
Created November 18, 2018 21:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kdeloach/47cd6c2cb71ee18a4879825631312360 to your computer and use it in GitHub Desktop.
Save kdeloach/47cd6c2cb71ee18a4879825631312360 to your computer and use it in GitHub Desktop.
CustomJSONRenderer
class CustomJSONRenderer(rest_framework_json_api.renderers.JSONRenderer):
"""
Replace references to primary key with `uuid` field value.
"""
@classmethod
def extract_attributes(cls, fields, resource):
obj = super(CustomJSONRenderer, cls).extract_attributes(fields, resource)
obj.pop('uuid')
return obj
@classmethod
def build_json_resource_obj(cls, fields, resource, resource_instance, *args, **kwargs):
obj = super(CustomJSONRenderer, cls).build_json_resource_obj(fields, resource, resource_instance, *args, **kwargs)
obj['id'] = str(resource_instance.uuid)
return obj
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment