J'ai un modèleHéritage Django: comment avoir une méthode pour toutes les sous-classes?
BaseModel
et plusieurs sous-classes de celui-ci
ChildModelA(BaseModel), ChildModelB(BaseModel), ...
en utilisant l'héritage multi-table. À l'avenir, je prévois d'avoir des dizaines de modèles de sous-classe.
Toutes les sous-classes ont une certaine mise en œuvre de la méthode
do_something()
Comment puis-je appeler do_somthing d'une instance BaseModel?
Presque problème identique (sans solution) est affichée ici:
http://peterbraden.co.uk/article/django-inheritance
Une question simple: comment je résous BaseModel instnace à l'un de ses sous-classes instance sans vérifier toutes les sous-classes possibles?
Tout est correct, mais pas pertinent dans ce cas. Le problème est précisément que lorsqu'on travaille avec l'héritage multi-table de Django, on a souvent une instance de la classe de base disponible (ie interroger la table de base), même si l'objet est "vraiment" d'un type enfant (ie entrée dans une table enfant). –