The proxy model was causing issues with item dragging. The model would reset after each swapped item. This meant that items could only be swapped one position at a time.