flask_SQLAlChemy create_all()不起作用 [英] Flask_SQLAlchemy create_all() doesn't work

查看:41
本文介绍了flask_SQLAlChemy create_all()不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开始学习如何对我的代码使用SQLAlChemy,但由于某种原因,当我运行代码时,它引发了此异常:

Traceback (most recent call last):
  File "C:/Users/smadar.KLAG/PycharmProjects/keylogger/site/practice.py", line 118, in <module>
    db.create_all()
  File "C:Userscprojects	estvenvlibsite-packagesflask_sqlalchemy\__init__.py", line 1039, in create_all
    self._execute_for_all_tables(app, bind, 'create_all')
  File "C:Userscprojects	estvenvlibsite-packagesflask_sqlalchemy\__init__.py", line 1031, in _execute_for_all_tables
    op(bind=self.get_engine(app, bind), **extra)
  File "C:Userscprojects	estvenvlibsite-packagesflask_sqlalchemy\__init__.py", line 962, in get_engine
    return connector.get_engine()
  File "C:Userscprojects	estvenvlibsite-packagesflask_sqlalchemy\__init__.py", line 555, in get_engine
    options = self.get_options(sa_url, echo)
  File "C:Userscprojects	estvenvlibsite-packagesflask_sqlalchemy\__init__.py", line 570, in get_options
    self._sa.apply_driver_hacks(self._app, sa_url, options)
  File "C:Userscprojects	estvenvlibsite-packagesflask_sqlalchemy\__init__.py", line 914, in apply_driver_hacks
    sa_url.database = os.path.join(app.root_path, sa_url.database)
AttributeError: can't set attribute

代码如下:


from flask import Flask, redirect, url_for, render_template, request, session, flash
from time import sleep
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.sqlite3'
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
db = SQLAlchemy(app)

class Users(db.Model):
    _id = db.Column("id", db.Integer, primary_key=True)
    email = db.Column(db.String(100))
    password = db.Column(db.String(100))



if __name__ == '__main__':
    db.create_all()
    app.run(debug=True)

我尝试运行我的一个朋友的代码,他有SQLAlChemy(该代码可以为他工作),以防是编码问题,但我也发现他的代码出现了同样的错误。
我是否做错了什么?

推荐答案

我也是刚碰到这个。看起来SQLAlChemy刚刚发布了1.4版,该版本打破了flask_sqlalChemy。

我能够通过安装以前的(1.3)版本在我的系统上解决此问题。

这篇关于flask_SQLAlChemy create_all()不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆