vueda.info
Overview
Meta-API for exposing model metadata filtered by user permissions.
Submodules
register
Register a model so that it can be used with ModelInfoViewSet. You should do this in the ready method of an AppConfig, not as a side effect of importing viewsets or serializers.
Called with both arguments, it registers the model at once and returns canonical_viewset.
Called with only canonical_serializer, it registers nothing and returns a class decorator. Applying the decorator to a viewset class registers the serializer with that viewset and returns the class unchanged::
@register(OrderSerializer)
class OrderViewSet(VuedaViewSet):
...
The decorator form registers the model when Python imports the module that defines the viewset, so it takes effect only if something imports that module. To register a model without a viewset, use register_serializer.
:param canonical_serializer: The serializer to use as a reference for the model. Only a Meta.model is required; it does not need to inherit VuedaSerializer. The /info/ meta-API falls back to defaults for any VuedaExpandableFieldsSerializerMixin hooks (generate_expand_model_info, get_expand_model_info, get_field_model_info) that the serializer doesn't define. :param canonical_viewset: The viewset to use as a reference for the model. When omitted, the call returns the class decorator described above.
Signature
register(canonical_serializer, canonical_viewset)
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| canonical_serializer | yes | |||
| canonical_viewset | no | None |
Source
server/vueda/info/registration.py:24
register_serializer
Register a model so that it can be used with ModelInfoViewSet. You should do this in the ready method of an AppConfig, not as a side effect of importing viewsets or serializers.
Because there is no viewset, the model info has no actions, filtering, or column totals, and its ordering metadata reports only the model's Meta.ordering default. Fields, expands, permissions, and the field choices endpoint work as they do for a model registered with a viewset. The filter choices endpoint answers 404, since there is no filterset.
:param canonical_serializer: The serializer to use as a reference for the model. Only a Meta.model is required; it does not need to inherit VuedaSerializer. The /info/ meta-API falls back to defaults for any VuedaExpandableFieldsSerializerMixin hooks (generate_expand_model_info, get_expand_model_info, get_field_model_info) that the serializer doesn't define.
Signature
register_serializer(canonical_serializer)
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| canonical_serializer | yes |
Source
server/vueda/info/registration.py:90
Source
server/vueda/info/__init__.py