'ListSerializer'对象不可调用请求方法

时间:2017-05-29 22:02:20

标签: python json django api django-rest-framework

不幸的是,我遇到了与post中提到的问题相同的问题。但它并没有解决我的问题。

我的模特:

class AppointmentCategory(models.Model):
    name = models.CharField(max_length=100, default='General')

My Serializer:

class AppointmentCategorySerializer(serializers.ModelSerializer):
    class Meta:
        model = AppointmentCategory
        fields = ('id', 'name',)

我的观点:

class AppointmentCategoryViewSet(viewsets.ModelViewSet):
    queryset = AppointmentCategory.objects.all()
    serializer_class = AppointmentCategorySerializer(many=True)

我正在以这种格式传递帖子数据:

 [
  {
    "name": "Emergency"
  },
  {
    "name": "General"   
  }
 ]

当我只发送一个元素时,它确实有效。但是,上面提到的列表无法在数据库中创建两个对象。错误说:

'ListSerializer' object is not callable

我不确定如何解决这个问题。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您不应该在视图集定义中实例化序列化器。只是做:

serializer_class = AppointmentCategorySerializer

请注意,这与您链接到的问题中建议的解决方案完全相同。