She*_*ong 2 django django-rest-framework swagger-ui
如何使用 Serializer 摆脱[POST] /api/contact/{pk}/api 的影响?(去掉第二个API)我的序列化器定义如下:
class ContactSerializer(serializers.ModelSerializer):
class Meta:
model = Contact
fields = ('chatuser', 'contact', 'is_blocked')
Run Code Online (Sandbox Code Playgroud)
我的ViewSet如下:
class ContactViewSet(mixins.CreateModelMixin, mixins.RetrieveModelMixin, viewsets.GenericViewSet):
queryset = Contact.objects.all()
serializer_class = ContactSerializer
Run Code Online (Sandbox Code Playgroud)

您也许可以使用 ReadOnlyModelViewset 吗?来自文档:
http://www.django-rest-framework.org/api-guide/viewsets#readonlymodelviewset
ReadOnlyModelViewSet 类也继承自 GenericAPIView。与 ModelViewSet 一样,它也包含各种操作的实现,但与 ModelViewSet 不同的是,ModelViewSet 仅提供“只读”操作、.list() 和 .retrieve()。
但这有点奇怪,因为 GenericViewSet 不应该为您提供任何开箱即用的操作,您应该只使用 ModelViewSet 获取 POST。
GenericViewSet 类继承自 GenericAPIView,并提供默认的 get_object、get_queryset 方法集和其他通用视图基本行为,但默认情况下不包含任何操作。
这可能意味着这些 mixin 之一正在为您提供额外的操作,请参阅:
为了使用 GenericViewSet 类,您将重写该类并混合所需的 mixin 类,或者显式定义操作实现。
如果您可以检查这些 mixins 的定义或将它们发布到此处,或者尝试使用 ReadOnlyModelViewSet 而不使用任何 mixins,然后看看如何进行。
| 归档时间: |
|
| 查看次数: |
3263 次 |
| 最近记录: |