The biggest one is probably that contribute_to_class undocumented, and Django docs very clearly show that the approved methodology uses profiles to add additional data to User . Python is a very powerful language and allows you to do several βsmartβ things to achieve your desired goal. But, convention is there to lead you from the dark side.
If there is a solid, rational, necessary reason to use contribute_to_class instead of profiles, then maybe everything will be fine. I'm not quite sure what the reason would be, but maybe if you could prove some kind of performance improvement in this approach that was necessary for an application that was supposed to be very efficient.
Most likely, such cases will be few and far, if they exist at all. Forbidding everything else, follow the agreement.
source share