在SQLAlchemy中,mapped_column和Column之间有什么区别?

6
我对SQLAlchemy还不熟悉,我在文档中看到旧版本(Column)可以直接替换为新版本的"mapped_column"。
使用mapped_column相比Column有什么优势吗?你能继续使用旧的'Column'吗?
1个回答

5
我认为最初的Column是在较低的“核心”/ sqlalchemy.sql层和较高的ORM层中使用的。这造成了目标的冲突。因此,当使用ORM层添加无法通过核心层使用的更多功能时,mapped_column现在取代了Column。核心层将继续使用Column。所以我认为它只是为了帮助您在ORM中更快或更简洁地完成更多工作。
关于它们有一个标题为“mapped_column()取代了Column()”的简介,下面是declarative-table-with-mapped-column

此外,它直接支持输入,因此您可以执行 col: Mapped[str] = mapped_column(unique=True) - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接