Ich habe mehrere API, die historisch unter Verwendung von Feld id
als Nachschlag arbeiten:Mehrere lookup_fields für django Rest Rahmen
/api/organization/10
Ich habe ein Frontend jene api raubend.
Ich baue eine neue Schnittstelle und aus irgendwelchen Gründen, würde Ich mag eine Schnecke anstelle einer ID verwenden:
/api/organization/my-orga
Die API ist mit Django Ruhe Framework integriert. Außer der Änderung des Nachschlagefeldes sollte das api-Verhalten gleich bleiben.
Gibt es eine Lösung, damit meine API sowohl mit slug
als auch mit pk
arbeiten kann? Die beiden Pfad sollten sie dieselben Ergebnisse geben:
/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
Vielen Dank für Ihre Hilfe.
Dies könnte von Vorteil sein: http://www.django-rest-framework.org/api-guide/serializers/#how-hyperlinked-views-are-determined – jape
Hallo Alex, hast du eine gute Lösung gefunden? dafür? – Vinch