2010-03-01 11 views
27

Ich habe versucht, Code zu erweitern, und bin auf ein Problem gestoßen, ich verstehe keine Codezeile. Ich kenne das Ergebnis - aber ich verstehe nicht, wie es passiert und habe natürlich genug Angst, es zu ändern.Erklärung von contribute_to_class

Die Codezeile ich kenne, ist dies:

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

Das Ergebnis dieser Code ein Feld mit ‚field_name‘ ist auf dem ‚Modell‘ hinzugefügt und von dem, was ich die Objekte innerhalb sammeln Das Feld ist eine Liste vom Typ X (Teil von MyGenericRelation).

Ich frage mich, ob jemand erklären kann, wie das funktioniert.

Wie bekomme ich eine Liste von X-Objekten, die an 'Feldname' angehängt sind und ob es generische Relationen vor der Contribute_to_class geben muss oder einen tatsächlichen Modelltyp verwenden würde, sagen 'Y' gib mir einfach eine Liste von Ys.

Um ehrlich zu sein, interessiere ich mich mehr für die Wirkung und Funktionalität der Methode "Mitbringende_Klasse".

+1

Können Sie erklären, was Sie zu tun versuchen und warum Sie glauben, dass Sie diesen Code ändern müssen? Was können Sie mit normalen generischen Beziehungen nicht erreichen? –

Antwort