drf_sideloading package

Submodules

drf_sideloading.mixins module

class drf_sideloading.mixins.SideloadableRelationsMixin(**kwargs)[source]

Bases: object

TODO: Implement some protection for too large queries.
  • limit the number of sideloadable elements?
    if over limit: - raise error - show warning - paginate, show first page and add a link to remaining paginated list of related elements? - show only the link to paginated list of related elements?
check_sideloading_serializer_class()[source]
get_primary_field_name()[source]
get_relevant_prefetches()[source]
get_sideloadable_fields()[source]
get_sideloadable_page(page)[source]
get_sideloadable_page_from_queryset(queryset)[source]
get_sideloading_prefetches()[source]
list(request, *args, **kwargs)[source]
parse_query_param(sideload_parameter)[source]

Parse query param and take validated names

:param sideload_parameter string :return valid relation names list

comma separated relation names may contain invalid or unusable characters. This function finds string match between requested names and defined relation in view

query_param_name = u'sideload'
relations_to_sideload = None
sideloading_serializer_class = None

drf_sideloading.serializers module

class drf_sideloading.serializers.SideLoadableSerializer(instance=None, data=<class rest_framework.fields.empty>, **kwargs)[source]

Bases: rest_framework.serializers.Serializer

to_representation(instance)[source]

Object instance -> Dict of primitive datatypes.

Module contents