我正在使用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()
方法
答案 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')