我有一个小型的web应用程序,我正在尝试为它开发一个API。我在一个名为UserPlatforms的应用程序中遇到了一个我称之为平台的模型的问题。同样的错误:AttributeError: type object 'UserPlatformList' has no attribute 'get_extra_actions'
models.py:
class Platform(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL,
related_name='platform_owned',
on_delete=models.CASCADE,
default=10)
PLATFORM_CHOICES = [platform_x, platform_y]
platform_reference = models.CharField(max_length=10, choices=PLATFORM_CHOICES, default='platform_x')
platform_variables = models.JSONField()api/views.py
from .serializers import PlatformSerializer
from rest_framework import generics, permissions
from userplatforms.models import Platform
class UserPlatformList(generics.ListCreateAPIViewAPIView):
queryset = Platform.objects.all()
permisson_classes = [permissions.IsAuthenticatedOrReadOnly]
serializer_class = PlatformSerializerapi/序列化器.api
from rest_framework import serializers
from userplatforms.models import Platform
class PlatformSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Platform
fields = '__all__'api/urls.py
from django.urls import path, include
from . import views
from rest_framework import routers
router = routers.DefaultRouter()
router.register(r'userplatforms/', views.UserPlatformList, 'userplatforms')
router.register(r'userfiles/', views.UserFileList, "userfiles")
router.register(r'users/', views.UserList, "user")
urlpatterns = [
path("^", include(router.urls))
]发布于 2022-04-26 09:51:16
api/views.py
from .serializers import PlatformSerializer
from rest_framework import generics, permissions
from userplatforms.models import Platform
class UserPlatformList(generics.ListCreateAPIViewAPIView):
queryset = Platform.objects.all()
permisson_classes = [permissions.IsAuthenticatedOrReadOnly]
serializer_class = PlatformSerializer对于ListCreateAPIView继承,ListCreateAPIViewAPIView应该是
如果使用mixins创建视图集,则应该如下所示
from .serializers import PlatformSerializer
from rest_framework import generics, permissions, viewsets
from userplatforms.models import Platform
class UserPlatformList(generics.ListModelMixin, viewsets.GenericViewSet):
queryset = Platform.objects.all()
permisson_classes = [permissions.IsAuthenticatedOrReadOnly]
serializer_class = PlatformSerializer这样,路由器就可以用来设置used模式。
api/urls.py
from django.urls import path, include
from . import views
from rest_framework import routers
router = routers.DefaultRouter()
router.register(r'userplatforms/', views.UserPlatformList, 'userplatforms')
router.register(r'userfiles/', views.UserFileList, "userfiles")
router.register(r'users/', views.UserList, "user")
urlpatterns = router.urlshttps://stackoverflow.com/questions/70377923
复制相似问题