Следующий полностью неполный фрагмент определяет базовые отношения SQLAlchemy с использованием декларативного синтаксиса ...
Base = declarative_base()
class Movie(Base):
__tablename__ = 'movies'
id = Column(Integer, primary_key=True)
name = Column(String)
director = relationship("People", uselist = False)
class People(Base):
__tablename__ = 'people'
id = Column(Integer, primary_key=True)
name = Column(String, nullable = false)
Чтобы получить доступ к имени директора, это будет что-то вроде:
assert isinstance(movie, Movie) # <-- retrieved with query or whatever
director_name = movie.director.name
Если для удобства я всегда хочу, чтобы отношения director
просто давали мне имя директора, а не экземпляр People, как вы это делаете? Например: это должно работать так:
assert isinstance(movie, Movie)
director_name = movie.director # <-- should get the string directly
Я на 99% уверен, что делал это раньше, но больше не могу найти справочный код или документацию по нему. Я немного схожу с ума, пытаясь найти его. Переполнение стека будет хорошим / постоянным эталоном для ответа.