ivelum / djangoql

Advanced search language for Django
MIT License
1.02k stars 89 forks source link

DjangoQLSchemaSerializer in drf Viewsets #102

Open joenatan opened 1 year ago

joenatan commented 1 year ago

Thanks for the awesome package!

How can I map the introspection endpoint in drf (Django Rest Framework)?

My idea would be like this: /api/v1//introspect/

I have now implemented this with an endpoint action in my viewset:

    @action(detail=False, methods=['get'])
    def introspect(self, request):
        return Response(DjangoQLSchema(MyModel).as_dict())

But a deprecated warning appears that I should use DjangoQLSchemaSerializer. But how?

DjangoQLSchemaSerializer.serialize(MyModel)

Doesn't work.

Thanks for your help

stebunovd commented 1 year ago

Hi @joenatan,

You can find an example in the docs. See the Using completion widget outside of Django admin section in the readme, and there will be a code sample for views.py that shows how to use DjangoQLSchemaSerializer:

introspections = DjangoQLSchemaSerializer().serialize(DjangoQLSchema(MyModel))

Thanks,

Denis