[pyar] Duda con django, herencias y ForeingKeys

Ramiro Morales cramm0 en gmail.com
Lun Nov 2 13:33:33 ART 2015


2015-11-02 13:14 GMT-03:00 GiLgAmEzH <listas en gilgamezh.me>:
> Hola a todos!
>
> No estoy seguro de cual es la mejor manera de hacer algo con django.
>
> Le dí varias vueltas a la documentación y no estoy seguro cuál caso
> corresponde.
>
> Quiero tener modelos del estilo
>
>
> class Persona():
>     pass
>
>
> class Alumno(Persona):
>     pass
>
>
> class Docente(Persona):
>     pass
>
>
> class Instituto():
>     pass
>     # el instituto tiene personas
>
>
>
> Cuál es la manera correcta de relacionar Alumno y Docente con el Instituto?
> La idea es poder hacer Instituto.personas.all() y me traiga tanto Alumos
> como Docentes?
>
> El único camino correcto es usar ContentTypes? O hay otra?

Sin opinar de si lo que queres hacer es bueno o malo, solo
concentrandome en cómo implementarlo:

Echale uan mirada  al model manager InheritanceManager de django-model-utils:

https://django-model-utils.readthedocs.org/en/latest/managers.html#inheritancemanager

Que puede llegar a ser de ayuda.

Entiendo que django-polymorphic implementa algo similar:

https://django-polymorphic.readthedocs.org/en/latest/

django-typed-models permite que el ORM distinga las sub-clases  entre
si, pero agregando un campo que indica el tipo:

https://github.com/craigds/django-typed-models

Suerte,

-- 
Ramiro Morales
@ramiromorales


More information about the pyar mailing list