Mi aplicación tiene dos tipos de nodos: un nodo padreque puede contener recursivas nodos hijos. Piense en ello como el sistema de post-comentario en SO, pero los comentarios pueden ser recursivas:manera correcta para modelar la relación recursiva en Django
parent_1
child_11
child_12
child_121
child_13
parent_2
child_21
child_211
child_2111
importante señalar que los nodos padres tienen diferentes atributos y comportamientos que los nodos secundarios.
recursividad Salvo que tendría los siguientes modelos:
class Parent(models.Model):
# fields ...
class Child(models.Model):
parent = models.ForeignKey(Parent)
# other fields ...
Pero la recursividad complica esto. ¿Cuál es la forma correcta (y presumiblemente más eficiente) de modelar esta relación en Django?
Daniel, ¿podría explicarme por qué necesitaría un módulo externo para implementar este modelo bastante simple? –
+1 por señalarme a django-treebeard. La implementación de conjuntos anidados = increíble ahorro de tiempo para mí. – cethegeek
@Yuval, es una cuestión de eficiencia de almacenamiento de datos jerárquicos en una base de datos. El MPTT es uno de los enfoques más comunes actualmente en uso. Ambos proyectos que mencionó Daniel tienen más información sobre el tema, así como enlaces a aún más información. Este es uno de los artículos vinculados: http://articles.sitepoint.com/print/hierarchical-data-database – istruble