Django model self reference

Una autoreferencia es cuando en un modelo una entidad puede ser hija de otra de la misma clase.

Por ejemplo, con la famosa clase Persona, el padre de una Persona sería otra Persona.

Esto a nivel de base de datos se hace con un campo "parent_id" que apunta a la PK de otra tupla.

En Django esto se puede hacer de la siguiente manera:
class Person(models.Model):
    name = models.CharField(max_length=200)
    parent = models.ForeignKey("self", null=True, blank=True, related_name="children")
Más sobre los modelos en Django.

No hay comentarios: