Just a heads up for everyone with regard to an issue that I feel will probably get a bit of exposure coming up:
First up I don't know what the solution to this will be. Basically the problem is:
- Mezzanine contains historical south migrations referencing auth.User
- Someone creates a Django 1.5 Mezzanine project, and wants to use a custom user model
These two things conflict in (seemingly in my mind at least) inconsolable ways.
On top of this, the *fantastic* Profile model feature of Django is now deprecated to make way for custom user models - which Mezzanine's accounts app has always been heavily integrated with.
So the questions are:
- How can we maintain database migrations that reference the built-in auth.User model, and allow people to use custom user models?
- Is the answer to this simply some special workflow needed with South? eg fake these migrations, generate your own separately, etc. (I've no idea yet)
- Do we try and upgrade mezzanine.accounts to be based of custom user models? We can't do this and still support Django 1.4, which we need to do given our general policy of supporting both the current and previous Django versions.
- Profiles are deprecated now. Do we shirk custom user models altogether, and just set up our own way of doing Profile like models? I think this would be trivial and (relatively) painless, but would be costly for Mezzanine perception-wise. Brace yourself for: "Mezzanine sucks, it doesn't support custom user models!!1!".