[django] ManyToMany("self") + related Name + Admin
Verfasst: Donnerstag 21. Februar 2013, 10:45
Guten Morgen Forum,
vielleicht mache ich irgendwo einen Gedankenfehler.
Ich würde gerne ein Model verwenden, die es ermöglicht über eine ManyToMany-Relation auf sich selbst zuzugreifen. Eigentlich ist das kein Problem, ich würde aber gerne auch die umgekehrte Sicht, also related_names verwenden.
Beispiel:
Ich würde also gerne speichern welche Artikel durch eben diesen Artikel ersetzt werden können, und im Umkehrschluss welche Artikel diesen Artikel ersetzen können.
Artikel 1 kann die Artikel 5 und 12 ersetzen, dann müsste bei Artikel 5 "replace_by_articles" 1 sein.
Allerdings funktioniert related_name nicht. Bei dem Zugriff darauf bekomme ich einen "AttributeError". Normalerweise, wenn das Feld nicht auf "self" verweist, funktioniert es wunderbar.
Und die nächste Frage wäre, ob es eine einfache Möglichkeit gibt die beiden Relationen im Admin Interface hübsch darzustellen. Aber da könnte ich mir auch selbst etwas basteln, wenn das mit "related_name" funktionieren würde.
vielleicht mache ich irgendwo einen Gedankenfehler.
Ich würde gerne ein Model verwenden, die es ermöglicht über eine ManyToMany-Relation auf sich selbst zuzugreifen. Eigentlich ist das kein Problem, ich würde aber gerne auch die umgekehrte Sicht, also related_names verwenden.
Beispiel:
Code: Alles auswählen
class Article(models.Model):
replace_articles = models.ManyToManyField("self", related_name="replace_by_articles")
Artikel 1 kann die Artikel 5 und 12 ersetzen, dann müsste bei Artikel 5 "replace_by_articles" 1 sein.
Allerdings funktioniert related_name nicht. Bei dem Zugriff darauf bekomme ich einen "AttributeError". Normalerweise, wenn das Feld nicht auf "self" verweist, funktioniert es wunderbar.
Und die nächste Frage wäre, ob es eine einfache Möglichkeit gibt die beiden Relationen im Admin Interface hübsch darzustellen. Aber da könnte ich mir auch selbst etwas basteln, wenn das mit "related_name" funktionieren würde.