首页 > 解决方案 > Django Rest API 在两个类中合并删除/获取/更新/获取方法

问题描述

起初你看到我的 4 方法类view.py:

class ContactList(ListAPIView):
    queryset = Contact.objects.all()
    serializer_class = ContactSerializers

# This is delete method
class ContactDelete(DestroyAPIView):
    queryset = Contact.objects.all()
    serializer_class = ContactSerializers
    lookup_field = 'pk'

#below is post method to create new contact
class ContactCreate(CreateAPIView):
    queryset = Contact.objects.all()
    serializer_class = ContactSerializers

#below is put and patch method to update contact
class ContactUpdate(UpdateAPIView):
    queryset = Contact.objects.all()
    serializer_class = ContactSerializers
    lookup_field = 'pk'

我想要ContactList并且ContactCreate应该在一个班级

并且ContactDelete应该ContactUpdate在一个班级

我不知道如何合并它,谁能告诉我怎么做?

注意:我不想要APIViewSet

标签: djangodjango-rest-frameworkdjango-rest-viewsets

解决方案


DRF 已经为此目的上课。你可以在这里这里检查它们

from rest_framework.generics import ListCreateAPIView, RetrieveDestroyAPIView


class ContactCreateListAPIView(ListCreateAPIView):
    queryset = Contact.objects.all()
    serializer_class = ContactSerializers


class ContactRetrieveDeleteAPIView(RetrieveDestroyAPIView):
    queryset = Contact.objects.all()
    serializer_class = ContactSerializers
    lookup_field = 'pk'

推荐阅读