[pyar] Django, Model Inheritance en la práctica

Marcos Alcazar marcos.alcazar en gmail.com
Mar Ago 3 10:59:45 ART 2010


El día 3 de agosto de 2010 09:51, Federico Heinz
<fheinz en vialibre.org.ar> escribió:
> Evidentemente, lo que estoy buscando es la infraestructura de
> `contenttypes` para agregarle al modelo ancestro lo que básicamente
> es el valor del `isa` de la instancia definitiva. No creo que haya
> otra solución para resolver la diferencia de impedancia entre el
> modelo orientado a objetos de Python y el modelo relacional de la
> base de datos.
>
> Ahora me queda dando vueltas en la cabeza cómo se podría armar una
> solución abstracta al problema, idealmente metida dentro de una app,
> que se encargue de que esto funcione como se debe en forma
> automágica y consistente en todas las aplicaciones que la usen...
> supongo que la cosa debería venir por el lado de una subclase
> abstracta de `models.Model`, pero me queda claro que mi django-foo
> aún no está como para encarar eso.

Algo de esto SQLAlchemy ya lo tiene resuelto[0], como yo lo he usado
es como dice Daniel, utilizando un campo en la tabla que mapea a la
clase padre, utilizando la propiedad 'polymorphic_identity' al momento
del mapeo, además de un par de configuraciones extras (por ejemplo,
los joins necesarios).

La verdad que es un tema muy complejo en sí mismo.

Saludos! Marcos

[0] http://www.sqlalchemy.org/docs/05/mappers.html#mapping-class-inheritance-hierarchies


-- 
Marcos Alcazar
Yo uso software libre!!



More information about the pyar mailing list