Чем SQLAlchemy `отношение` отличается от внешних ключей? - PullRequest
0 голосов
/ 09 января 2019

В учебнике приведен пример связывания двух таблиц, но требуется, чтобы пользователи связывали эти две таблицы как на уровне базы данных (с внешним ключом), так и на уровне ORM (с relationship) :

user_id = Column(Integer, ForeignKey('users.id'))
user = relationship("User", back_populates="addresses")

Я понимаю внешние ключи, так как они нужны независимо от того, используете вы ORM или нет. Что я не понимаю, так это то, почему пользователи должны определять relationship на уровне ORM. Разве это не повторяющаяся работа? Разве SQLAlchemy не может определить отношения таблиц, используя только внешние ключи? Какие функции будут отсутствовать, если на уровне ORM нет relationship?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...