Just curious, how badly would an upgrade from 1.2 go? I want to do it if it takes less than a day.
I think the way to upgrade is to do it piecewise, one release at a time.
Here's what we do:
1) upgrade 3rd party packages to latest. I wrote a little script to apply each new package one-by-one, rerun tests, and revert any that fail. Resolve any failures.
2) turn deprecations into errors, run tests again, and resolve any deprecation notices.
3) Read release notes from 1.2 to 1.3 so you have a sense of what's changing.
4) upgrade django from 1.2 to 1.3, then rerun tests.
5) Repeat steps 2-4 with each django release (1.3->1.4, 1.4->1.5).
This way, if / when things break during the upgrade process, you have some isolation as to what changed.
I'm not sure you can get all the way from 1.2 to 1.5 in a day, but if you spend half a day you can get a sense of how far you get, and what issues you have to resolve to finish.
You definitely want to get to at least 1.4, since that's the oldest version that has security patches.
If you don't have good tests? Start by writing tests until you have decent coverage. The django testing page has good info on coverage tool integration.