Django Rest框架自动递增主键值

Django Rest框架自动递增主键值,django,django-rest-framework,Django,Django Rest Framework,我不熟悉使用DRF,所以如果这是一个微不足道的问题,我很抱歉,但到目前为止我还没有找到答案 我正在使用DRF和Angularjs创建一个单页应用程序。当我向我的API发帖时,我得到了这个错误来创建一个新的Task对象:Task\u id:[这个字段是必需的。]Task\u id是我在这个对象上的主键。我如何使它像Django模型表单一样自动递增 class TaskSerializer(serializers.ModelSerializer): class Meta:

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

我正在使用DRF和Angularjs创建一个单页应用程序。当我向我的API发帖时,我得到了这个错误来创建一个新的
Task
对象:
Task\u id:[这个字段是必需的。]
Task\u id
是我在这个对象上的主键。我如何使它像Django模型表单一样自动递增

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)  

您是否在应用程序页面中使用
task\u id
?如果没有,则将其从序列化程序中删除,DRF将自动为您处理此问题

大概是这样的:

class TaskSerializer(serializers.ModelSerializer):         

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

您是否在应用程序页面中使用
task\u id
?如果没有,则将其从序列化程序中删除,DRF将自动为您处理此问题

大概是这样的:

class TaskSerializer(serializers.ModelSerializer):         

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

您是否在应用程序页面中使用任务id?如果没有,那么将其从序列化程序中删除,DRF将自动为您解决这个问题。嗯,我觉得很愚蠢。成功了。以前,我没有在我的元类中将任何字段显式地分配给
字段
,我得到了那个错误。我想这是因为我有一个唯一的主键值
task\u id
,而不是
id
。酷..我会添加答案:)你在应用程序页面中使用task\u id吗?如果没有,那么将其从序列化程序中删除,DRF将自动为您解决这个问题。嗯,我觉得很愚蠢。成功了。以前,我没有在我的元类中将任何字段显式地分配给
字段
,我得到了那个错误。我想这是因为我有一个唯一的主键值
task\u id
而不是
id
。酷..我会添加答案:)如果我没有提到“id”作为字段,如何通过这个序列化程序进行更新?你到底想实现什么?是否要序列化更新查询集?我要使用自动增量pk将INSERT和update设置到表中。如果我没有按照您的建议包含“id”字段,那么更新应该如何工作?因为在这种情况下“id”是一个自动字段,django会在插入时自动创建一个id(将是串行的)。在更新操作期间,我们需要获取一条记录并使用链接中提到的update()命令。您需要在“任务模型”中定义自动增量字段,序列化程序用于验证。序列化程序用于验证传入数据并将JSON转换为python数据格式,我们可以使用这些格式创建、检索、更新和删除表(模型)中的信息。自动递增的字段不是传入数据,而是由Django在create方法中自动实现的。如果我没有提到“id”作为字段,如何通过此序列化程序进行更新?您到底想实现什么?是否要序列化更新查询集?我要使用自动增量pk将INSERT和update设置到表中。如果我没有按照您的建议包含“id”字段,那么更新应该如何工作?因为在这种情况下“id”是一个自动字段,django会在插入时自动创建一个id(将是串行的)。在更新操作期间,我们需要获取一条记录并使用链接中提到的update()命令。您需要在“任务模型”中定义自动增量字段,序列化程序用于验证。序列化程序用于验证传入数据并将JSON转换为python数据格式,我们可以使用这些格式创建、检索、更新和删除表(模型)中的信息。自动递增字段不是传入数据,而是由Django在create方法中自动实现的。