Múltiples campos de búsqueda para django rest framework

Tengo múltiples API que históricamente funcionan usandoid como el campo de búsqueda:

/api/organization/10

Tengo una interfaz que consume esas API.

Estoy creando una nueva interfaz y, por alguna razón, me gustaría usar una babosa en lugar de una identificación:

/api/organization/my-orga

La API está construida con Django Rest Framework. Excepto el cambio del campo de búsqueda, el comportamiento de la API debe permanecer igual.

¿Existe una solución para permitir que mi API funcione tanto con unslug y unpk ? Esos dos caminos deberían darles los mismos resultados:

/api/organization/10
/api/organization/my-orga

Aquí está mi definición de API:

# urls.py
router = DefaultRouter()
router.register(r'organization', Organization)
urlpatterns = router.urls

#view.py
class Organization(viewsets.ModelViewSet):
    queryset = OrganisationGroup.objects.all()
    serializer_class = OrganizationSerializer

# serializer.py
class OrganizationSerializer(PermissionsSerializer):
    class Meta:
        model = Organization

Gracias por tu ayuda.

Respuestas a la pregunta(5)

Su respuesta a la pregunta