56
Basically, for objects that have a contribute_to_class
method, when adding them to a Model class, we call contribute_to_class
instead of setattr
: this allows objects to do additional book-keeping and/or modification of the class as they are added. Alex Gaynor has a good explanation here: http://lazypython.blogspot.com/2008/11/django-models-digging-little-deeper.html
Source:stackexchange.com