0

我正在尝试使用 Flask 在 PythonAnywhere 上提供数据并希望使用 Flask-Restful,但我意识到我有点困惑。

@app.route("/test")
def create_api():
    engine = create_engine(SQLALCHEMY_DATABASE_URI)
    Session = sessionmaker(bind=engine)
    session = Session()



    try:
        db = dataset.connect(SQLALCHEMY_DATABASE_URI)
    except:
        print "couldn't connect to database"


    class Prices(db.Model):
        __tablename__ = 'data'
        pcode_district = db.Column(db.Integer, primary_key=True)
        year_95 = db.Column(db.Float)
        year_15 = db.Column(db.Float)
        percent_change = db.Column(db.Float)
    #Create the Flask-Restless API manager
    manager = flask.ext.restless.APIManager(app,
                                    flask_alchemy_db = db)
    manager.create_api(Prices, methods=['GET'], max_results_per_page =1000)

我得到的错误与定义数据库模型的类有关:

AttributeError: 'Database' object has no attribute 'Model'

我对会话和数据库实例之间的关系感到困惑。

我究竟做错了什么?

4

1 回答 1

1

您已经db用本地db变量覆盖了模块。db将您在此处分配的内容重命名为:db = dataset.connect(SQLALCHEMY_DATABASE_URI)其他名称。

于 2016-05-06T18:56:07.313 回答