Django: relaciones polimórficas
Django tiene varias formas de relacionar modelos entre sí:
Sin embargo, Django incluye una aplicación llamada "contenttypes" que además de permirte seguir todos los modelos instalados en tu proyecto y un interfaz para trabajar con ellos, permite generar estas relaciones polimórficas llamadas "relaciones genéricas".
Ejemplo de relación genérica: Este modelo Comment está referenciando al Post en el que se incluye. ForeingKey es la relación adecuada ya que un comentario sólo pertenece a un post.
Pero si quisieramos utilizar este modelo para hacer comentarios sobre otros elemntos que no fueran posts, tendríamos un problema, ya que está asociado directamente a un post. Solución: relaciones genéricas a través de contenttypes. Guardar nuevos valores no tiene ninguna mágia, igual que con cualquier otro modelo. Y ahora que tenemos los objetos creados, vamos a ver como recuperarlos.
- ForeingKey
- ManyToManyField
- OneToManyField
Sin embargo, Django incluye una aplicación llamada "contenttypes" que además de permirte seguir todos los modelos instalados en tu proyecto y un interfaz para trabajar con ellos, permite generar estas relaciones polimórficas llamadas "relaciones genéricas".
Ejemplo de relación genérica: Este modelo Comment está referenciando al Post en el que se incluye. ForeingKey es la relación adecuada ya que un comentario sólo pertenece a un post.
Pero si quisieramos utilizar este modelo para hacer comentarios sobre otros elemntos que no fueran posts, tendríamos un problema, ya que está asociado directamente a un post. Solución: relaciones genéricas a través de contenttypes. Guardar nuevos valores no tiene ninguna mágia, igual que con cualquier otro modelo. Y ahora que tenemos los objetos creados, vamos a ver como recuperarlos.
Comentarios
Publicar un comentario