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.