AttributeError: объект 'QuerySet' не имеет атрибута 'model'

Я хочу добавить документацию для приложения Django

  1. Я использую rest_framework_mongoengine, rest_framework
  2. .
  3. OpenAPI 3.0, drf-spectacular swagger

[то есть модель : ] (https://i.stack.imgur.com/49ynm.png)

from mongoengine import *

class Service(Document):
    student_id = StringField(required=True)
    name = StringField(max_length=50)
    age = IntField()

[это сериализатор :] (https://i.stack.imgur.com/kfgTd.png)

from Service.models import Service
from rest_framework_mongoengine import serializers as mongoserializers

class ServiceSerializer(mongoserializers.DocumentSerializer):
    class Meta:
        model = Service
        fields = '__all__'

[то есть виды] (https://i.stack.imgur.com/5ehJL.png)

import mongoengine
from .models import Service
from rest_framework import generics
from .serializers import ServiceSerializer
from .docs import list_service, create_service, update_service, delete_service
from rest_framework_mongoengine.viewsets import ModelViewSet as MongoModelViewSet


mongoengine.connect(db='Ecommerce', host='localhost:27017')

@create_service()
class CreateServiceAPI(generics.CreateAPIView):
    queryset = Service.objects.all()
    serializer_class = ServiceSerializer

Я создал документацию, но когда я выполняю любую конечную точку в документации, происходит такая ошибка [документация] (https://i.stack.imgur.com/PqdeR.png)

"AttributeError: объект 'QuerySet' не имеет атрибута 'model'"

кто-нибудь может помочь мне решить эту проблему

Вместо того, чтобы импортировать generics.CreateAPIView из rest_framework, вы должны импортировать из rest_framework_mongoengine, вот так:

from rest_framework_mongoengine import generics

измените модель, чтобы добавить поля:

from django_mongoengine import Document, fields

class Service(Document):
    student_id = fields.StringField(blank=True)
    name = fields.StringField(max_length=50)
    age = fields.IntField()

Вернуться на верх