Voici mes modèles schématiques:relation inverse aux classes multiples inheriting dans django
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
Il est possible et probable que, dans l'avenir, je (ou peut-être quelqu'un d'autre) ne voudrais ajouter d'autres types de projet de loi.
Chaque projet de loi doit pointer vers une loi (indiquant quelle loi ce projet de loi va changer) et ma question est la suivante: Quelle est la meilleure façon de mettre en œuvre ce?
Si je ajouter le ForeignKey (loi) pour le projet de loi, je vais avoir une relation de chaque projet de loi à la loi, mais une loi n'aurais une relation inverse aux projets de loi (de bill_set), et non une relation inverse différente à chaque type de facture. Bien sûr, je serai capable de filtrer chaque type de facture pour obtenir seulement celles qui pointent vers une loi spécifique, mais c'est quelque chose que je pense devoir utiliser souvent, donc je pense que privatebill_set, governmentbill_set etc ferait le code plus lisible.
Une autre solution possible est d'ajouter la clé étrangère à chacune des classes de inheriting (cela me donnerait un privatebill_set, governmentbill_set, futurebill_set), mais qui semble poilu parce que je serais compter sur les programmeurs futurs de se rappeler d'ajouter cette relation.
Comment voulez-vous résoudre ce problème?
Bonne idée. Merci. –