我尝试通过REST Api实现工作流程,以便对象处理。
在步骤1中,可以写入所有字段(状态除外)。
调用方法(视图集类上的路径)时,状态发生变化(反映对象状态的变化)。
class ExaminationViewSet(viewsets.ModelViewSet):
model = Examination
@detail_route(methods=['GET'])
def invoice(self, request, pk=None):
current_examination = self.get_object()
current_examination.status = 1
current_examination.save()
return Response({'invoice':'waiting for paiment'})
现在无法编辑对象上的某些字段(但不是全部)。
我认为重写get_serializer_class可能是一个解决方案,但序列化程序类依赖于"状态"实例。我不确定是不是这样。
你有什么想法解决这个问题吗?