Django Rest Framework自动增加主键值

时间:2014-06-06 19:40:12

标签: django django-rest-framework

我刚接触使用DRF,所以如果这是一个微不足道的问题,我很抱歉,但到目前为止,我还没有找到答案。

我使用DRF和Angularjs创建单页面应用程序。当我向我的API发帖时,我收到此错误以创建新的Task对象:task_id: [This field is required.] task_id是此对象的主键。我怎样才能使它像Django Model Form一样自动增加?

class TaskSerializer(serializers.ModelSerializer):         

    class Meta:                                                      
        model = Task                                       
        fields = ('route', 'date', 'task_id', )                    

class AddTask(generics.CreateAPIView):          
    serializer_class = TaskSerializer                                                    

    def get(self, request, format=None):                  
        response = {}                                     

        response['form'] = TaskForm().as_p()    

        return Response(response)  

1 个答案:

答案 0 :(得分:5)

您是否在申请页面中使用了task_id?如果没有,则将其从序列化器中删除,DRF将自动为您处理。

这样的事情:

class TaskSerializer(serializers.ModelSerializer):         

    class Meta:                                                      
        model = Task                                       
        fields = ('route', 'date',)