次の SQLAlchemy クラスが定義されているとします。
Base = declarative_base()
class Person(Base):
__tablename__ = 'person'
id = Column(Integer, primary_key=True)
computers = relationship('Computer', backref=backref('owner', lazy='dynamic'))
class Computer(Base):
__tablename__ = 'computer'
id = Column(Integer, primary_key=True)
ownerid = Column(Integer, ForeignKey('person.id'))
さらに、次の方法で遅延クエリ オブジェクトにアクセスしたとします。
relation = getattr(Computer, 'owner')
relation
の単一インスタンスPerson
(つまり、この例のように多対 1 の関係) をrelation
参照するか、インスタンスのコレクション ( 1 対多の関係など) を参照するかを判断するにはどうすればよいですか? 言い換えれば、動的な SQLAlchemy 関係オブジェクトの関係タイプをどのように判断できますか?