如何獲取應該在關係的另一端的類的名稱?它是在創建關係時宣佈的。我想這些信息應該是sqlalchemy.orm.util.class_mapper的somwhere什麼類型在sqlalchemy的關係的另一端沒有創建對象?
假設我們有這三個類和它們之間的關係。 書* 1 ---大陸架和 書* --- *作者
class Shelf(Base):
__tablename__ = 'shelves'
id = Column(Integer, primary_key = True)
name = Column(String)
#one-to-many books by backref in Book.shelf
def __init__(self, name=""):
self.name = name
class Book(Base):
__tablename__ = 'books'
id = Column(Integer, primary_key = True)
title = Column(String)
#many-to-one shelf
shelf_id = Column(Integer, ForeignKey('shelves.id'))
shelf = relationship(Shelf, backref=backref('books', order_by=id))
def __init__(self, title=""):
self.title = title
author_book = Table('author_book', metadata,
Column('author_id', Integer, ForeignKey('authors.id')),
Column('book_id', Integer, ForeignKey('books.id'))
)
class Author(Base):
__tablename__ = 'authors'
id = Column(Integer, primary_key = True)
name = Column(String)
#many-to-many books
books = relationship('Book', secondary=author_book, backref='authors')
def __init__(self, name=""):
self.name = name
從class_mapper(類).iterate_properties我們可以很容易地得到不同的性質:COLUMNPROPERTY和RelationshipProperty。 應該有一種方法可以獲得相關類的名稱。有任何想法嗎?