Wow! This takes me back ![]()
To me 4. is the best option but is a lot of work on the dev side AND might be a pain to test. It all depends on what you want and how much pressure / time you have. I personally would go for 3 and show the dev what to do.
Automatic fixes by django are also problematic if the DEV made some custom behaviour in the app. That’s why I vote for 3.