Multiple lookup_fields for django rest framework

Ich habe mehrere APIs, die historisch mit @ funktioniereid als Suchfeld:

/api/organization/10

Ich habe ein Frontend, das diese API verbraucht.

Ich erstelle eine neue Benutzeroberfläche und möchte aus bestimmten Gründen einen Slug anstelle einer ID verwenden:

/api/organization/my-orga

Die API wurde mit Django Rest Framework erstellt. Abgesehen von der Änderung des Nachschlagefelds sollte das API-Verhalten gleich bleiben.

ibt es eine Lösung, mit der meine API sowohl mit einem @ als auch mit einem @ arbeiten kanslug und einpk? Diese beiden Pfade sollten dieselben Ergebnisse liefern:

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

Hier ist meine API-Definition:

# 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

Danke für Ihre Hilfe

Antworten auf die Frage(10)

Ihre Antwort auf die Frage