Field sets
Capy Serializers supports field sets, you can set sets
attribute in the serializer, by default the fields provided in default
set always are included in the response.
In contract with OData
, the sets
parameter determines the included and expanded fields in the response.
Request
GET /api/v1/users?sets=default,custom
Serializer
import capyc.django.serializer as capy
class PermissionSerializer(capy.Serializer):
fields = {
"default": ("id", "name"),
"extra": ("codename", "content_type"),
"ids": ("content_type", "groups"),
"lists": ("groups",),
"expand_ids": ("content_type[]",),
"expand_lists": ("groups[]",),
}