Aquí están mis modelos esquemáticos:inversa relación con múltiples clases Herencia de Django en
class Law(models.Model):
...
class Bill(models.Model):
... # data for a proposed law, or change of an existing law
class PrivateBill(Bill):
... # data for a Bill that was initiated by a parliament member
class GovernmentBill(Bill):
... # data for a Bill that was initiated by the government
Es posible y probable que en el futuro (o tal vez alguien más) me gustaría añadir más tipos de facturas.
Todo proyecto debe apuntar a una Ley (indicando qué ley este proyecto de ley va a cambiar) y mi pregunta es: Cuál es la mejor forma de implementar esto?
Si añadir el ForeignKey (Ley) a Bill, voy a tener una relación de todas las facturas a la Ley, sino una ley sólo tendría una relación inversa a Bills (bill_set), y no una diferente relación inversa con cada tipo de factura. Por supuesto, podré filtrar cada tipo de factura para obtener solo los que apuntan a una ley específica, pero esto es algo que creo que necesitaré usar a menudo, así que creo que tener privatebill_set, governmentbill_set, etc. haría que el código más legible
Otra posible solución es añadir la clave externa a cada una de las clases Herencia de (esto me daría una privatebill_set, governmentbill_set, futurebill_set), pero que parece peluda porque estaría confiando en futuros programadores para recordar añadir esa relación.
¿Cómo solucionaría esto?
Gran idea. Gracias. –