【发布时间】:2022-09-27 15:30:00
【问题描述】:
class ABC(generics.ListCreateApiView):
@swagger_auto_schema(
operation_description=\"THIS API IS TO CREATE MESSAGES IN A LIST \",
auto_schema=AcceptFormDataSchema,
request_body=MessageGetSerializer
)
def get_queryset(self):
data =self.request.GET.get(\"code\")
...
@swagger_auto_schema(
operation_description=\"THIS API IS TO CREATE MESSAGES IN A LIST \",
request_body=openapi.Schema(
type=openapi.TYPE_OBJECT,
required=[\"data\"],
properties={
\"code\": openapi.Schema(type=openapi.TYPE_STRING),
def post(self, request):
brand_code = request.data.get(\"code\")
.....
#serializer.py
class MessageSerializer(serializers.ModelSerializer):
class Meta:
model = Messages
fields = (\"message_id\", \"content\", \"description\")
我的 post 方法适用于我需要使用相同序列化程序的字段,但它不适用于获取查询集方法。谁能建议我如何使用 drf-yasg 获取字段?
-
你想要完成什么?仅供参考
get_queryset是ViewSets 的内部函数,它不是端点,因此它不应该大摇大摆地出现。你不应该尝试使用内部函数作为视图处理程序,你会破坏你的ViewSet。 -
再次,你想完成什么?列出消息的端点?
-
我正在完成所有 API 的文档,默认情况下,这个 swagger 模块 drf-yasg 正在考虑这个 get_queryset 作为一个 get API。
-
它可能获取
get查询的原因可能是继承自ListCreateApiView,它提供了get和post方法。此端点由 ApiView 类隐式创建,在大多数情况下您不需要覆盖它。如果你想记录它,你可以按照drf-yasg的第一个提示并使用 Django 的method_decorator。
标签: django django-rest-framework drf-yasg drf-queryset