Hello, Frank, Welcome to web2py! I am also relatively new to web application development.
I threw your code into a new application, and I get very fast responses, usually in a fraction of a second. I don't know exactly why I have a dramatic difference in speed, but I do notice one thing that might aid in the development of the application. They way you implemented your drag-and-drop, the application sends a request to the server on every 'focus' and 'mouseup' event. It would be better to have the JavaScript handle the drag-and-drop in the browser and send only the changes to the server.