AttributeError: 'module' 对象没有属性 'ListCreateAPIVIEW' Django

use*_*936 0 python django django-rest-framework

我正在使用“Django Rest Framework”并且我正在尝试构建一个 RestfulAPI。但是,当我尝试“makemigrations”(即同步数据库)时出现上述错误。

这是我的模型:

from __future__ import unicode_literals

from django.db import models

# Create your models here.
class Animal(models.Model):
    id = models.CharField(max_length=10, primary_key=True)
    name = models.CharField(max_length=200)
    gender = models.CharField(max_length=10)
    breed = models.CharField(max_length=200)
    adoption = models.CharField(max_length=10)
    vaccines = models.CharField(max_length=20)

class Doctor(models.Model):
    id= models.CharField(max_length=10, primary_key=True)
    name = models.CharField(max_length=20)
Run Code Online (Sandbox Code Playgroud)

以下是我的观点:

from django.contrib.auth.models import User, Group
from rest_framework import viewsets, generics

from cw.myStart.models import Animal
from cw.myStart.serializers import UserSerializer, GroupSerializer, AnimalSerialiser, DoctorSerealiser
from models import Animal, Doctor

class AnimalList(generics.ListCreateAPIVIEW):
   queryset = Animal.objects.all()
   serializer_class = AnimalSerialiser

class DoctorDetail(generics.RetrieveUpdateDestroyAPIView):
   queryset = Doctor.objects.all()
   serializer_class = DoctorSerealiser
Run Code Online (Sandbox Code Playgroud)

这是我的 urls.py:

from django.conf.urls import url, include
from rest_framework import routers
from rest_framework.urlpatterns import format_suffix_patterns
from cw.myStart import views

router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)
router.register(r'groups', views.GroupViewSet)

# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.
urlpatterns = [
    url(r'^', include(router.urls)),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    url(r'^api/$', views.AnimalList.as_view()),
    url(r'^api/(?P<pk>[0-9]+)/$', views.AnimalDetail.as_view()),
]

urlpatterns = format_suffix_patterns(urlpatterns)
Run Code Online (Sandbox Code Playgroud)

提前致谢。

v1k*_*k45 5

你应该使用ListCreateAPIViewnotListCreateAPIVIEW

替换这个:

class AnimalList(generics.ListCreateAPIVIEW):
Run Code Online (Sandbox Code Playgroud)

有了这个:

class AnimalList(generics.ListCreateAPIView):
Run Code Online (Sandbox Code Playgroud)

请参阅django-rest-framework 文档