enum choices django django-models

choices - django model choice



Explicación de contribute_to_class (1)

Intenté extender el código y encontré un problema. No entiendo una línea de código. Sé el resultado, pero no entiendo cómo sucede y estoy lo suficientemente asustado como para cambiarlo.

La línea de código con la que me he encontrado es esta:

MyGenericRelation().contribute_to_class(model, ''field_name'')

El resultado de este código es un campo con ''field_name'' se agrega al ''modelo'' y de lo que reúno los objetos dentro del campo son una lista de tipo X (parte de MyGenericRelation).

Me pregunto si alguien puede explicar cómo funciona esto.

Como en, ¿por qué obtengo una lista de objetos X adjuntados a ''nombre_campo'' y si tiene que haber relaciones genéricas antes de contribuir_a_clase o usaría un tipo de modelo real, decir ''S'' simplemente dame una lista de Y''s.

Para ser sincero, estoy más interesado en el afecto y la funcionalidad del método contribute_to_class.


Básicamente, para los objetos que tienen un método contribute_to_class , cuando los agregamos a una clase Model, llamamos contribute_to_class lugar de setattr : esto permite a los objetos hacer contabilidad adicional y / o modificar la clase a medida que se agregan. Alex Gaynor tiene una buena explicación aquí: http://lazypython.blogspot.com/2008/11/django-models-digging-little-deeper.html