[pyar] Django: consultas a modelo con subclases

Fernando Gómez fjgomez en gmail.com
Jue Dic 16 14:20:02 ART 2010


Hola!

Les describo un problema que me tiene trabado.

Tengo un modelo AccessPoint, y dos subclases PreferredAccessPoint y
VariantAccessPoint. No voy a crear directamente instancias de
AccessPoint, sólo de las subclases. Pero sí quiero poder hacer
consultas a la unión de ambas subclases; es decir, quiero preguntar
por todos los AccessPoints que cumplan determinada condición, y en el
resultado quiero obtener tanto PreferredAccessPoints como
VariantAccessPoints.

Sucede que si planteo mi consulta usando el manager del modelo
AccessPoint, los resultados que obtengo son los correctos, pero son
instancias de AccessPoint, no de las subclases. ¿Cómo sé de qué tipo
es cada resultado?

La otra opción que veo es hacer dos consultas, y así obtener un
QuerySet con instancias de PreferredAccessPoint y otro con instancias
de VariantAccessPoint. En tal caso, ¿cómo hago un merge de ambos
QuerySets para presentar los resultados de manera unificada (p.ej. en
orden alfabético)?

¿Alguna de esas opciones parece ser mejor que la otra? ¿Se les ocurre
una mejor opción?

No sé si estoy planteando claramente el problema; es posible que esté
trabado a causa de no estar entendiendo del todo lo que intento hacer
:-) Pero confío en que una mirada ajena traiga un poco de claridad.
(Seguro que todo esto es un ejemplo de un patrón de diseño
archiconocido!)

Saludos.

-- 
Fernando Gómez
Biblioteca "Antonio Monteiro"
INMABB (Conicet / Universidad Nacional del Sur)
Av. Alem 1253
B8000CPB Bahía Blanca, Argentina
Tel. +54 (291) 459 5116
http://inmabb.criba.edu.ar/



More information about the pyar mailing list