SQLAlchemy与不同模型的一种关系

时间:2018-08-14 07:54:23

标签: python database orm sqlalchemy

我目前正在使用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_indowner_legal,但是也许有一个更正确的解决方案?

0 个答案:

没有答案