Django 4 с drf_spectacular Swagger не выполняет POST

У меня есть следующие классы, использующие django-restframework и drf-spectacular. Я могу выполнить POST, когда я вошел в систему и через маршруты drf по умолчанию, но не используя маршруты swagger-ui.

Я могу обратиться к этому url: http:/example.com/api/schema/swagger-ui/#/organism/organism_create

enter image description here

Но когда я нажимаю кнопку Execute, ничего не происходит. Я ожидаю, что будет показана команда CURL и т.д. Также я не вижу ответа на бэкенде сервера. В отличие от метода GET. Здесь сервер печатает: 11/Feb/2022 22:34:02] "GET /api/organism/ HTTP/1.1" 200 275

Я действительно зашел в систему и сначала указал свое имя пользователя и пароль.

Что не так с этой установкой?

models.py

class Organism(models.Model):
    short_label = models.CharField(max_length=100)
    long_label = models.CharField(max_length=100)
    genus = models.CharField(max_length=100)

    def __str__(self):
        return self.long_label

serializers.py

class OrganismSerializer(serializers.ModelSerializer):
    class Meta:
        model = models.Organism
        fields = ('__all__')

views.py

class ReadOnly(BasePermission):
    def has_permission(self, request, view):
        return request.method in SAFE_METHODS


class OrganismViewset(viewsets.ModelViewSet):
    queryset = models.Organism.objects.all()
    serializer_class = serializers.OrganismSerializer
    parser_classes = [parsers.MultiPartParser, parsers.FormParser]
    http_method_names = ['get', 'post', 'patch', 'delete']

    # Permissions
    permission_classes = [IsAuthenticated|ReadOnly]
    def get(self, request, format=None):
        content = {
            'status': 'request was permitted'
        }
        return Response(content)   

urls.py

router = SimpleRouter()
router.register('organism', views.OrganismViewset)

settings.py

Я пробовал разные настройки. Используя BasicAuth.., я получаю запрос на имя пользователя и пароль, но все равно ничего не происходит.

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        #'rest_framework.permissions.IsAuthenticated'
        'rest_framework.permissions.AllowAny',
    ],
    'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema',
    #'DEFAULT_AUTHENTICATION_CLASSES': [
        #'rest_framework.authentication.BasicAuthentication',
        #'rest_framework.authentication.SessionAuthentication',
    #]
}

Когда я пытаюсь опубликовать что-то с помощью модуля Python request, сервер выводит:

Bad Request: /api/organism/

вы добавляете эти настройки полезными для вас

settings.py

SPECTACULAR_SETTINGS = {
    'COMPONENT_SPLIT_REQUEST': True,
}
Вернуться на верх