【问题标题】:Why do I need to define models in a Flask + SQLAlchemy app using an existing database?为什么我需要使用现有数据库在 Flask + SQLAlchemy 应用程序中定义模型?
【发布时间】:2020-07-25 06:00:42
【问题描述】:

我是 Flask 和 SQLalchemy 的新手,我目前正在尝试开发一个连接到现有数据库的 API。我知道模型对于创建新数据库和新表很有用,但我不明白是什么让我必须定义模型,因为我的表已经存在?

我阅读了this question,但我不明白如果我可以简单地查询我的数据库,那么定义模型的必要性是什么?可能是我没有把握模型的目的……

【问题讨论】:

  • 一个 ORM,如 SQLAlchemy,以对象的形式表示来自数据库的记录。这些对象需要对应于某个类,以便它们可以表现出特定于实体的行为。
  • 您不一定需要明确定义模型,您可以自动映射/反射或使用核心/原始查询。

标签: python sqlalchemy


【解决方案1】:

如果使用 ORM,则需要定义模型:因为 ORM 需要在数据库模型(表)和对象模型(类)之间进行映射。

如果您使用 DB-API,则不必这样做,因为您直接调用数据库。下面是一个 SQLite 示例:https://docs.python.org/3.8/library/sqlite3.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    • 2014-08-16
    • 2015-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多