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”
答案 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)
希望这对某人有帮助