[英]how can I get details from restful api django?
I am pretty new with restful Django, but I am not new with Django framework at all, but I want to create an endpoint where I can grab customers by id eg detail/<id>
customers/
to grab all我对宁静的 Django 很陌生,但我对 Django 框架并不陌生,但我想创建一个端点,我可以通过 id 获取客户,例如
detail/<id>
customers/
来获取所有
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(...):
????
You don't need another ViewSet for retrieve.您不需要另一个 ViewSet 来检索。
viewsets.ViewSet
itself has two methods list(self, request)
and retrieve(self, request, pk=None)
viewsets.ViewSet
本身有两个方法list(self, request)
和retrieve(self, request, pk=None)
views.py:视图.py:
from rest_framework import generics
class CustomerDetailAPIView(generics.RetrieveAPIView):
"""
get all
"""
queryset = Customer.objects.all()
serializer_class = CustomersSerializer
lookup_field = 'pk'
urls.py:网址.py:
from django.urls import path
from .views import (CustomerDetailAPIView)
urlpatterns = [
path('customer_detail/<int:pk>',CustomerDetailAPIView.as_view()),
]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.