【问题标题】:Django Rest Swagger: 'APIGroupAction' should either include a `serializer_class` attribute, or override the `get_serializer_class()` methodDjango Rest Swagger:“APIGroupAction”应该包含一个“serializer_class”属性,或者覆盖“get_serializer_class()”方法
【发布时间】:2017-09-22 13:04:22
【问题描述】:

我在将django-rest-swagger==2.1.2 与现有项目djangorestframework==3.5.3 集成时遇到了这个问题。

我尝试对基于类的视图使用快速入门,其中提到了 serializer_class:

schema_view = get_swagger_view(title='Pastebin API')

然后,我尝试了一些 futhis 方式以及基于 Wellnction 的视图:

@api_view() @renderer_classes([SwaggerUIRenderer, OpenAPIRenderer]) def schema_view(request): generator = schemas.SchemaGenerator(title='Pastebin API') return response.Response(generator.get_schema(request=request))

在这两种情况下,它都会给出与以下相同的错误: 'APIGroupAction' 应该包含 serializer_class 属性,或者覆盖 get_serializer_class() 方法。

对此的任何帮助将不胜感激。 编辑:“APIGroupAction”是一个基于类的视图。

【问题讨论】:

  • 什么是APIGroupAction?可以加吗?
  • 可以添加APIGroupAction类的sn-p吗?
  • 您好,感谢您的评论,我通过以下方式解决了这个问题: 1- 降级到 django-rest-swagger==2.1.1 2- 将序列化程序添加到我监督的缺失视图中

标签: python django django-rest-framework swagger swagger-2.0


【解决方案1】:

Django rest framework > 3.0 中,任何视图都必须具有序列化程序。 在您的情况下,APIGroupAction 是 view 并且它没有提供任何 serializer 。所以,

APIGroupAction 制作一个序列化器,例如APIGroupActionserializer

APIGroupAction 写下这一行 serializer_class = APIGroupActionserializer

【讨论】:

  • 我已经在问题中提到了这一点,我已经尝试过这样做。
  • 嗨,是的,我正在将它集成到现有项目中,所以“APIGroupAction”这个类存在于代码中的 2 个位置,我监督了
猜你喜欢
  • 2017-12-22
  • 2021-03-24
  • 2021-08-07
  • 1970-01-01
  • 2019-10-29
  • 2017-04-04
  • 1970-01-01
  • 1970-01-01
  • 2010-09-27
相关资源
最近更新 更多