serializer_class django todo应用程序上的断言错误

时间:2019-06-27 08:48:57

标签: django django-rest-framework

我正在使用Django开发todo API。我收到一个错误,因为ToDoView(视图类名称)应该包含serializer_class,但是我已经有了。这是代码

路由器和URL

router = routers.DefaultRouter()                      
router.register(r'todo', views.ToDOView ,'todo')     

urlpatterns = [
    path('admin/', admin.site.urls),       
    path('api/', include(router.urls))               
]

查看:

class ToDOView(viewsets.ModelViewSet):
    serializer_class: ToDOserializer
    queryset = ToDo.objects.all()

序列化器:

class ToDOserializer(serializers.ModelSerializer):
    class Meta:
        model : ToDo
        fields : ('id','title','description','completed')

id,标题,描述和完成的是我模型的字段

错误: 收到此错误。

  / api / todo /'ToDOView'中的

AssertionError应该包含一个   serializer_class属性,或覆盖get_serializer_class()   方法

1 个答案:

答案 0 :(得分:1)

它应该是 = (等于),而不是 :

class ToDOView(viewsets.ModelViewSet):
    serializer_class =  ToDOserializer
    queryset = ToDo.objects.all()

serializer.py

中也做同样的事情
class ToDOserializer(serializers.ModelSerializer):
    class Meta:
        model = ToDo
        fields = ('id','title','description','completed')