Mam kilka API, które historycznie pracować używając id
w polu wyszukiwania:Wiele lookup_fields dla django ramach odpoczynku
/api/organization/10
Mam frontend spożywania tych API.
Buduję nowy interfejs i jakichś powodów, chciałbym użyć pocisk zamiast id:
/api/organization/my-orga
API zbudowany jest z Django Rest Framework. Oprócz zmiany pola odnośnika zachowanie api powinno pozostać niezmienione.
Czy istnieje rozwiązanie pozwalające interfejsowi API współpracować zarówno z slug
, jak i pk
? Tych dwóch ścieżka powinna dać im takie same wyniki:
/api/organization/10
/api/organization/my-orga
Oto moja definicja 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
Dzięki za pomoc.
To może być korzystne: http://www.django-rest-framework.org/api-guide/serializers/#how-hyperlinked-views-are-etetined – jape
Witaj Alex, czy byłeś w stanie znaleźć dobre rozwiązanie dla tego? – Vinch