我目前正在使用SQLAlchemy作为orm开发flask应用程序。我有主要对象模型:
class FObject(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
... some columns
owner_id = db.Column(db.Integer, db.ForeignKey(ObjectOwner.id))
owner = db.relationship('ObjectOwner', back_populates="obj", uselist=False)
这是对象所有者模型:
class ObjectOwner(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String)
obj = db.relationship("FObject", back_populates="owner", uselist=False)
一切正常,直到我必须将所有者类型添加到对象中-个人和法人实体。他们每个人都有自己的数据集(法律实体有contract number
和一些业务属性)。
因此,我要基于owner
列将owner_type
关系链接到不同的模型。
我当然可以建立关系,即owner_ind
和owner_legal
,但是也许有一个更正确的解决方案?