Normally I prefer that, and translate code manually. even more if the jump is big. Except if the goal is just stay current.
But you are right. At my previous job, I spent countless hours getting from 1.4 to 1.5, but the step from 1.5 to 1.6 was relatively painless.
1.7 was a very important release in the history of Django, just not a fun release to move to if you had a large codebase.
The deprecation notices are usually (always?) accompanied by the code giving `DeprecationWarning` messages. These are silenced by default, but can be enabled by setting the environment variable: `PYTHONWARNING=d`. After upgrading to each major version, I'd recommend running with warnings enabled for a little while (in addition to reading the release notes), to see what may bite you at the next jump.
It is very mature and well supported - and the upgrades are usually painless since you can upgrade all the components separately so sqlalchemy for ORM or Jinja2 for templates - whenever you feel you are ready.
You will not get things like admin panel as a downside though.
Starting at 1.7, getting everything working and then doing it again with 1.10 would be my recommendation. YMMV though.