重写 ModelViewSet 的 update() 和 create() 方法
update()重写
def update(self, request, *args, **kwargs): instance = self.get_object() serializer = self.get_serializer(instance, data=request.data) serializer.is_valid(raise_exception=True) instance.user_info.dept = instance.dept instance.user_info.save() serializer.save() return Response(serializer.data)
create() 重写
def create(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) password = request.data['password'] if 'password' in request.data else None password = make_password(password) serializer.save(password=password) return Response(serializer.data)