I\'ve factored out common attributes from two classes into an abstract base class, however I have another model that needs to reference either one of those classes. It\'s no
A generic relation seems to be the solution. But it will complicate things even further.
It seems to me; your model structure is already more complex than necessary. I would simply merge all three Answer
models into one. This way:
Answer_Risk
would work without modification.resident
to None (NULL) in case of an Answer_A
.resident == None
. (in other words; same functionality)One more thing; are your answers likely to have more than one risk? If they'll have none or one risk you should consider following alternative implementations:
Answer
class.My main concern is neither database structure nor performance (although these changes should improve performance) but code maintainability.