I agree with Robert. Too much magic. It would be a shame not to take the chance to get rid of it if changes of this significance are planned.
MODULE_CONSTANTS is ugly. Perhaps I should get over this, but I find it so ugly that I often end up explicitly importing things inside each method of my magic module. And that's pretty ugly too. Another thing that hasn't come up: the existing system means you can't use properties. I often want to take advantage of Python's attribute-like "properties" on my models, calculated from actual model attributes. Properties neatly mask the implementation of calculated attributes. Having to remember whether a "property" of a model is an attribute or a method when you access it is a PITA. To use Rails-speak, properties are beautiful. Magic also tends to make it harder to do things that you haven't thought of yet. So here's a vote against magic modules for all the things that I haven't thought of yet ;) I'm not putting my hand up to implement this - beyond my python fu i think - but I would support any attempt to do so. Kieran