我有一个带有SQLAlchemy的Flask应用程序,其中包含许多模型。这些模型具有许多属性,我和我的团队决定将它们分为许多表和某种继承。
哑巴示例,我有一个Person模型,我想将其分为具有属性名称,年龄,地址等的基本模型Person和具有工资,雇用日期等的子模型Employee。用户只能如果他激活了“人力资源”功能,则可以查看并编辑雇用日期和工资。将来,我们可能会拥有带有特定属性的“客户”子模型,以及更多。
让我们想象一个人既可以是雇员又可以是顾客。
我在使用SQLAlchemy寻找创建这种扩展/继承的正确方法时遇到了麻烦。一个人可以结合两种或多种类型。 我已经考虑过要进行“单表继承”,但这至少不允许我根据需要从Employee设置一些属性。 当用户禁用“人力资源”功能时,“员工”中的所有字段将不可见,必填而不是必填。
有相对简单的方法吗? 谢谢。