Consulta de inheritance de model de Django en una tabla central

Tengo una solución que pensé que podría encargarme de la inheritance del model, pero ahora que lo veo de nuevo no resuelve mi problema. Lo que me gustaría es poder llamar a un model y luego tener acceso a los campos del model de niños. Con la inheritance, todavía tengo que poner el nombre del model secundario en la línea de command, lo cual frustra todo el propósito. Aquí hay un ejemplo de lo que me gustaría:

class LessonModule(models.Model): lesson = models.ForeignKey('Lesson') name = models.CharField(max_length=100, blank=True) class ProfileImage(LessonModule): file_loc = models.ImageField(upload_to="profiles/") detail_file_loc = models.ImageField(upload_to="profiles/", blank=True) def render(self): t = loader.get_template("template/profile_image.html") c = Context({'image_path': self.file_loc.url}) return t.render(c) def __unicode__(self): return '[prof: %d]' % self.id class Note(LessonModule): def __unicode__(self): return '[note: %d]' % self.id def render(self): return self.id 

Lo que me gustaría poder hacer es hacer un:

 module = LessonModule.objects.get(pk=20) module.render() 

Y haz que ejecute la function de renderización correspondiente. Por ejemplo, si el pk se alinea con el model Note, simplemente devolverá el self.id. Por supuesto, esto se simplifica a lo que quiero hacer con estas funciones.

No tengo que usar inheritance de model. Simplemente parecía la mejor manera de hacerlo. Solo quiero un área central para search todos los modules posibles.

También usaría esto para extraer todos los modules de lección asignados a una lección de la key externa de lección en el module de lección.

No lo he usado, pero este proyecto se parece a lo que estás buscando:
https://code.google.com/p/django-polymorphic-models/

Puede solicitar LessonModule.objects.all () y luego .downcast () automáticamente a cada object en una ProfileImage o una Note.

O agregue PolymorphicMetaclass a su LessonModule para recuperar siempre los objects ProfileImage y Note de un queryset.

Tenga en count el costo de las consultas adicionales … el polymorphism en los models de Django se realiza a través de combinaciones de tablas, no del código de python puro.