Ich habe ein Modell, das selbst-referenziert haben, ich möchte alle Kind und Kind des Kindes und so weiter in einer Abfrage. Gibt es ein Abfrage-Set, um alle untergeordneten Elemente mit einem übergeordneten Element zu verknüpfen?Django erhalten alle Kind und Unter-Kinder eines Elternteils
-1
A
Antwort
0
Ich habe etwas ähnliches in einem Projekt zuvor getan, außer dass ich SQLAlachemy verwendet habe. Sie könnten eine Eigenschaft oder eine Klassenmethode auf dem Modell hinzufügen, die etwas wie meine Methode unten tut:
Außer Sie würden das Listenverständnis ändern, um die Django-Beziehungsabfrage (M2M, Fremdschlüssel) zu verwenden.
Da Sie bereits das Objekt haben, wenn die Eigenschaft mit unter Sie so etwas wie dies in der Liste Verständnis für eine M2M-Beziehung Abfrage tun können:
[c.serialize for c in self.related_column.all()]
@property
def serialize(self):
""" Returns a json serializable dict.
Notes:
What's cool about this is that the children's key recursively keeps
calling itself on all of the children of each new node. Causing the
output to look like which is pretty powerful.
- Root
- level_1
- level_2
- level_3
- level_1
- level_2
- level_3
- level_1
- level_2
- level_3
Returns:
dict: Key value pairs of essential Node data.
"""
base = {
'id': self.id,
'name': self.name,
'min_num': self.min_num,
'max_num': self.max_num,
'parent_id': self.parent_id,
'can_have_children': self.can_have_children
}
if self.can_have_children:
return {**base, 'children': [c.serialize for c in self.sub_nodes]}
else:
return base
Verwandte Themen
- 1. Wie findet man alle verschachtelten Kind Knoten eines Elternteils?
- 2. Wie alle Kind eines Elternteils bekommen und ihre Kinder mit Rekursion
- 3. bekommen Nth-Kind des Elternteils
- 4. Kind außerhalb des Elternteils ausrichten
- 5. jQuery: Wie komme ich zu einem bestimmten Kind eines Elternteils?
- 6. Django erhalten alle ManyToMany Beziehungen eines Objekts
- 7. Auswählen eines Elternteils und Ausführen
- 8. So finden Sie ein Kind eines Elternteils unmanaged win32 App
- 9. erhalten alle Artikel der Kategorie und seinem Kind
- 10. Finden Kind Element des Elternteils pure Javascript
- 11. Wie kann ich alle abgeleiteten Klassen eines Elternteils kennen?
- 12. First-Kind des Elternteils mit jQuery ausblenden
- 13. Django Alle Benutzer erhalten
- 14. Django, erhalten alle erforderlichen Felder?
- 15. Django Erbe typeof Kind von Basisklasse erhalten
- 16. Relatives Kind 100% Breite des relativen Elternteils
- 17. Polymorphism, Calling Kind Methode des Elternteils
- 18. Kind des Elternteils, das wie er handelt
- 19. Kind Zugriff auf Variablen des Elternteils
- 20. Zugang eines Elternteils Mitglied
- 21. Wie wählt man die Kindernummer eines Elternteils?
- 22. bekommen alle Kinder eines Elternteils mit MSSQL Abfrage
- 23. Erhalten Sie alle Eltern für ein Kind
- 24. erhalten alle Kind Ansichten innerhalb lineares Layout
- 25. Drucken der linken und rechten Kind eines Elternteils von einem Heap.
- 26. Wie Requisiten Rekursive Kind-Komponente übergeben und alle Requisiten erhalten
- 27. Schienen - berührende Eltern eines Elternteils
- 28. Firebase - Erhalten Kind eines Kindes ohne Schlüsselname
- 29. Erhalten Kind Konstante in übergeordneter Methode - Ruby
- 30. Grabbing eines Elternteils eines bestimmten Elements
Bitte fügen Sie Kommentar zur –
Frage möglicherweise beantwortet https://stackoverflow.com/questions/43903948/recursive-queryset-with-django – bobleujr