如何从restful api Django获取详细信息?

2024-10-01 13:43:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我对restful Django非常陌生,但我对Django框架一点也不陌生,但我想创建一个端点,在这里我可以通过id抓取客户,例如detail/<id>{}来抓取所有客户

serializers.py

class CustomersSerializer(serializers.ModelSerializer):

    class Meta:
        model = Customer
        fields = '__all__'



views.py

class CustomerViewSet(mixins.ListModelMixin,
                      viewsets.GenericViewSet):
    """
    get all 
    """
    queryset = Customer.objects.all()
    serializer_class = CustomersSerializer

 urls.py

router = DefaultRouter()
router.register(r'customer', CustomerViewSet) # get all 
router.register(r'detail', DetailViewSet) # detail/<id> 
class DetailViewSet(...):
   ????

Tags: djangopyregisteridget客户customerall
2条回答

检索时不需要其他视图集viewsets.ViewSet本身有两种方法list(self, request)retrieve(self, request, pk=None)

views.py:

from rest_framework import generics

class CustomerDetailAPIView(generics.RetrieveAPIView):
    """
    get all 
    """
    queryset = Customer.objects.all()
    serializer_class = CustomersSerializer
    lookup_field = 'pk'

URL.py:

from django.urls import path
from .views import (CustomerDetailAPIView)

urlpatterns = [

    path('customer_detail/<int:pk>',CustomerDetailAPIView.as_view()),

]

相关问题 更多 >