Товарищи, может кто-нибудь занимался подобным? Я с 1.4 не сталкивался, но предполагаю, что синтаксис слишком сильно отличается. Примерно можете сориентировать с чем придется столкнуться? Или может вообще проще переписать проект будет?
Сталкивался. Рекомендую делать поэтапную миграцию - сначала на 1.6 переехать, потом на 1.8, потом на 1.10, а оттуда уже на 2.0. В процессе придётся читать release notes каждой версии и сравнивать с ошибками в выхлопе dev-сервера.
С синтаксисом всё ок, но придется столкнуться с несовместимостью различных версий библиотек с версиями Django и друг с другом, а также с переездом с python2 на python3.
Зависит от проекта. Если маленький проект с небольшим числом зависимостей - то переезжать по 1 версии будет проще, поскольку на каждой итерации мало изменений. Если проект гигантский, 100 библиотек в зависимостях - проще сразу стартануть проект на Django=2.2 и тащить функционал по кускам из старого проекта (меняя по ходу дела мертвые зависимости на их актуальные аналоги), т.к. накладные расходы на каждый переезд будут просто неподъемными.