Realización de un diseño de herencia de múltiples tablas genérico en Django.

En primer lugar, algunos enlaces a páginas que he usado como referencia:Una pregunta tan, y los documentos de Django enrelaciones genéricas yherencia multi-mesa.

Hasta ahora, tengo un diseño de herencia de múltiples tablas configurado. Los objetos (p. Ej., Car, Dog, Computer) pueden heredar una clase de artículo. Necesito poder recuperar elementos de la base de datos, obtener la subclase y hacer cosas con ella. Mi diseño no permite recuperar los diferentes tipos de objetos uno por uno, así que necesito usar el contenedor de elementos para envolverlos todos en uno. Una vez que tengo el artículo, los documentos de Django dicen que puedo obtener la subclase haciendo referencia al atributo con el nombre del modelo (por ejemplo, myitem.car o myitem.computer).

No sé a qué tipo de objeto hace referencia mi artículo, así que, ¿cómo puedo obtener al niño? ¿Hay una forma incorporada para hacer esto? Aquí hay algunas otras ideas que tuve: (algunas más locas que otras)

Estaba pensando que podría agregar algún tipo de GenericForeignKey al artículo que hace referencia al niño, pero dudo que incluso sea legal que una clase padre se relacione a través de un ForeignKey con una clase hija.Supongo que podría tener un ForeignKey (ContentType) en la clase de elementos y encontrar el atributo de Item para obtener al niño según el nombre de ContentType.Finalmente, aunque es un método feo, podría ser capaz de mantener una lista de tipos de objetos, y probar cada uno como un atributo hasta que no se lance un error DoesNotExist.

Como puede ver, estas soluciones propuestas no son tan elegantes, pero espero que no tenga que usar una de ellas y que alguien aquí tenga una mejor sugerencia.

Gracias por adelantado

Respuestas a la pregunta(2)

Su respuesta a la pregunta