需要帮助:AttributeError:“ SQLAlchemy”对象没有属性“ Models”

时间:2019-10-24 19:56:39

标签: python sqlalchemy flask-sqlalchemy

AttributeError:sqlalchemy对象没有属性“模型”错误。我已经安装了所有要求,例如pip install sqlalchemy,flask-sqlalchemy,psycopy2-binary。该文件名为create.py

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()

此文件为models.py

 from flask_sqlalchemy import SQLAlchemy

db=SQLAlchemy()

class Flight(db.Models):
    __tablename__ = "flights"
    id = db.Column(db.Integer, primary_key=True)
    origin = db.Column(db.String, nullable=False)
    destination = db.Column(db.String, nullable=False)
    duration = db.Column(db.Integer, nullable=False)

class Passenger(db.Models):
    __tablename__ = "passengers"
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String, nullable=False)
    flight_id = db.Column(db.Integer, db.ForeignKey("flights.id", 
nullable=False))

输出为:

回溯(最近通话最近):   文件“ create.py”,第4行,在     从模型导入*   在第5行的文件“ D:\ web \ flaskrun \ models.py”中     Flight(db.Models)类: AttributeError:“ SQLAlchemy”对象没有属性“ Models”

3 个答案:

答案 0 :(得分:0)

the flask-sqlalchemy docs中所述,您的模型需要从db.Model派生而没有尾随的s

  

此外,它提供了一个名为Model的类,该类是可用于声明模型的声明性基础:

答案 1 :(得分:0)

应为db.Model,而不是db.Models

答案 2 :(得分:0)

我遇到了同样的错误,因为有打字错误,我将s方法的字符串类型减小了

db.String()--->correct

db.string()--->Incorrect

name=db.Column(db.String(),nullable=False)

希望这对某人有帮助