Добавлять параметры вручную с помощью drf-yasg, modelviewset

как добавить ручные параметры с помощью drf-yasg? Мне нужно два параметра для id товара и количества, вот как это выглядит сейчас Swagger api, вот чего я хочу добиться RestFrameWorkBrowsableAPI.

Я пытался добавить ручные параметры с помощью декораторов swagger_auto_schema, но ничего не меняется.

это мое мнение

class OrderItemViewSet(ModelViewSet):
http_method_names = ['get', 'post', 'patch', 'delete','head', 'options']
def get_serializer_class(self):
    if self.request.method == 'PATCH':
        return UpdateOrderItemSerializer
    elif self.request.method == 'POST':
        return AddOrderItemSerializer
    return OrderItemSerializer

def get_queryset(self):
    return OrderItem.objects.filter(order_id=self.kwargs['order_pk']).select_related('product')

def get_serializer_context(self):
    return {'order_id': self.kwargs['order_pk']}

это мои сериализаторы

class AddOrderItemSerializer(serializers.ModelSerializer):
#product_id = serializers.IntegerField()

product_id = openapi.Parameter('product', in_=openapi.IN_QUERY, type=openapi.TYPE_NUMBER)
@swagger_auto_schema(manual_parameters=[product_id])
def save(self, **kwargs):
    order_id = self.context['order_id']
    product_id = self.validated_data['product_id']
    quantity = self.validated_data['quantity']
    try:
        order_item = OrderItem.objects.get(
            order_id=order_id, product_id=product_id)
        order_item.quantity += quantity
        order_item.save()
        self.instance = order_item
    except OrderItem.DoesNotExist:
        self.instance = OrderItem.objects.create(
            order_id=order_id, **self.validated_data)

    return self.instance

class Meta:
    model = OrderItem
    fields = ['id', 'product_id', 'quantity']
Вернуться на верх