2013-10-14 8 views
0

Я понимаю, что ForeignKey ограничивает столбец значением id, содержащимся в другой таблице, так что записи в двух разных таблицах могут быть легко связаны, но я не понимаю поведения relationships(). Насколько я могу судить, основной эффект объявления отношения между классами Parent и Child состоит в том, что parentobject.child теперь ссылается на записи, связанные с родительским объектом в таблице children. Какие еще последствия имеют отношения? Как объявление отношения изменяет поведение базы данных SQL или как SQLAlchemy взаимодействует с базой данных?Отношения SQLAlchemy

ответ

3

Он ничего не делает на уровне базы данных, это чисто для удобства. Определение relationship позволяет SQLAlchemy знать, как автоматически запрашивать связанный объект, вместо того, чтобы вручную использовать внешний ключ. SQLAlchemy также будет выполнять другое управление на высоком уровне, например, разрешать назначение объектов и каскадные изменения.

Смежные вопросы