【问题标题】:AttributeError: 'SQLAlchemy' object has no attribute 'Models' [closed]AttributeError:“SQLAlchemy”对象没有属性“模型”[关闭]
【发布时间】:2020-02-21 02:50:55
【问题描述】:

AttributeError: sqlalchemy 对象没有属性“模型” 有时 ModuleNotFoundError: No module named 'models' 发生错误。我已经安装了所有要求,例如 pip install sqlalchemy、flask-sqlalchemy、psycopy2-binary。

import os

from flask import Flask, render_template, request
from models import *

app = Flask(__name__)

app.config["SQLALchemy_DATABASE_URI"] = os.getenv("DATABASE_URL")
app.config["SQLALchemy_TRACK_MODIFICATIONS"] = False
db.init_app(app)

def main():
    db.create_all()

if __name__ == "__main__":
    with app.app_context():
        main()

Traceback(最近一次调用最后一次): 文件“create.py”,第 5 行,在 从模型导入 * AttributeError: sqlalchemy 对象没有属性“模型”

【问题讨论】:

  • 错误将出现在您的models 模块中,您可以包含其中的内容吗?我猜在某个地方你有一个继承自 db.Models 而不是 db.Model 的类,尽管我只能在看到代码之前猜测。
  • 将所有db.Models 更改为db.Model
  • flask-sqlalchemy 模型的基类是db.Model,而不是db.Models。投票结束是一个错字。

标签: python postgresql flask sqlalchemy


【解决方案1】:

在您的 db 对象中的 models.py 中设置 shure

db = SQLAlchemy()

NOT db = SQLAlchemy ,因为 SQLAlchemy 是一个类

【讨论】:

    【解决方案2】:

    如果不起作用,请尝试以下操作。

    db.init_app(app)

    例如

    
    #main.py
    
    from flask import Flask
    from flask_sqlalchemy import SQLAlchemy
    
    app = Flask(__name__)
    app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db'  # Database URL
    db = SQLAlchemy(app)
    db.init_app(app)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-21
      • 2023-03-22
      • 2012-09-17
      • 1970-01-01
      • 2015-09-24
      • 1970-01-01
      • 2016-01-10
      • 2019-04-27
      相关资源
      最近更新 更多