flask-sqlalchemy 相关问题

Flask-SQLALchemy是Flask的扩展,提供SQLAlchemy支持。它旨在通过SQLAlchemy使数据库操作变得更加简单和简单。它与Flask具有相同的三个BSD许可证条款。

尝试使用 SQLAlchemy 在 Flask 中添加新用户时出现 IntegrityError

我正在开发一个 Flask 应用程序,其中有一个表单允许用户输入用户名和密码。提交后,用户的信息应与...一起显示在另一个网页上

回答 1 投票 0

如何找到多个 Flask-SQLAlchemy 实例?

我目前正在运行: python3 -m Flask --app 'flask_app.app:create_app("src.flask_app.config.DevelopmentConfig")' 数据库迁移 并收到错误: 运行时错误:“SQLAlchemy”实例...

回答 1 投票 0

为什么我的 Flask 中的“g”对象不提供信息?

我今天刚开始学习Flask。我正在努力遵循最佳实践。因此,我将用户数据添加到 Flask 中的“g”对象中。一开始效果很好。 @some_blueprint。

回答 1 投票 0

如何在 SQLAlchemy 查询中使用“包含”以利用 MSSQL 全文索引

MSSQL 有两个运算符“contains”和“like”,它们的行为不同: Contains 仅对全文索引列执行全文搜索 Like 不需要对该列建立索引 包含的是

回答 2 投票 0

使用 array.contains() 对 postgresql 数组列进行查询过滤器

我有一个数组列(我需要,我知道这不是典型约定),我需要在查询中进行过滤。我正在尝试使用 contains(), db.session.query(表).filter((表.name.ilik...

回答 2 投票 0

为什么 SQLAlchemy 的 order_by 不对 URL 进行排序?

我正在使用 SQLAlchemy 开发 Flask 应用程序,我需要对数据库中存储的 URL 进行一致的排序。目标是使竞争对手 URL 的顺序保持一致,以便在比较时

回答 1 投票 0

使用 SQLAlchemy 的 ORM 将 SQL 数据库表转换为 DataFrame

在 Flask 应用程序中,我想将 SQL Lite 数据库表(此处为用户)转换为 DataFrame。 我试过这个 df = pd.DataFrame(dict(r) for r in User.query.all()) 但它返回错误“用户”

回答 1 投票 0

错误:sqlalchemy.exc.OperationalError:(sqlite3.OperationalError)没有这样的表:

Base.html Base.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Todo App</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/semantic.min.css"> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/semantic.min.js"></script> </head> <body> <div style="margin-top: 50px;" class="ui container"> <h1 class="ui center aligned header">To Do App</h1> <form class="ui form" action="/add" method="post"> <div class="field"> <label>Todo Title</label> <input type="text" name="title" placeholder="Enter Todo..."><br> </div> <button class="ui blue button" type="submit">Add</button> </form> <hr> {% for todo in todo_list %} <div class="ui segment"> <p class="ui big header">{{todo.id }} | {{ todo.title }}</p> {% if todo.complete == False %} <span class="ui gray label">Not Complete</span> {% else %} <span class="ui green label">Completed</span> {% endif %} <a class="ui blue button" href="/update/{{ todo.id }}">Update</a> <a class="ui red button" href="/delete/{{ todo.id }}">Delete</a> </div> {% endfor %} </div> </body> </html> 应用程序.py from flask import Flask, render_template, request, redirect, url_for from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) # /// = relative path, //// = absolute path app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) class Todo(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100)) complete = db.Column(db.Boolean) @app.route("/") def home(): todo_list = Todo.query.all() return render_template("base.html", todo_list=todo_list) @app.route("/add", methods=["POST"]) def add(): title = request.form.get("title") new_todo = Todo(title=title, complete=False) db.session.add(new_todo) db.session.commit() return redirect(url_for("home")) @app.route("/update/<int:todo_id>") def update(todo_id): todo = Todo.query.filter_by(id=todo_id).first() todo.complete = not todo.complete db.session.commit() return redirect(url_for("home")) @app.route("/delete/<int:todo_id>") def delete(todo_id): todo = Todo.query.filter_by(id=todo_id).first() db.session.delete(todo) db.session.commit() return redirect(url_for("home")) @app.before_first_request def create_tables(): db.create_all() #if __name__ == "__main__": #db.create_all() # app.run(debug=True) 遵循的步骤: $ mkdir myproject $ cd myproject $ python3 -m venv venv 激活它 $ . venv/bin/activate 或在 Windows 上 venv\Scripts\activate 安装烧瓶 $ pip install Flask $ pip install Flask-SQLAlchemy 在终端中设置环境变量 $ export FLASK_APP=app.py $ export FLASK_ENV=development 或在 Windows 上 $ set FLASK_APP=app.py $ set FLASK_ENV=development 运行应用程序 $ flask run 错误信息: sqlalchemy.exc.OperationalError:(sqlite3.OperationalError)没有这样的表:todo [SQL:SELECT todo.id AS todo_id,todo.title AS todo_title,todo.complete AS todo_complete FROM todo](此错误的背景:https ://sqlalche.me/e/14/e3q8) 调试器捕获 WSGI 应用程序中的异常。您现在可以查看导致错误的回溯。 如 docs 中所述,当 api 无法解析驱动程序时,会发生 OperationalError。从您的代码来看,一种可能的故障排除可能是在 app.py 中重命名这一行: app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite' # <--- remove this app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite3'# <--- add this app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False 原因: 连接可能未建立良好,并且必须无法创建所需的数据库。上述建议的编辑可能会解决此问题 编辑:如果上述答案不适合您,请查看此答案。 如果这是您第一次构建此应用程序,则您可能从未创建过数据库。 我正在关注 Flask Mega 教程,并遇到了与您类似的错误: qlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: todo 在本教程中有一个关于创建迁移脚本的部分,我无法开始工作,所以我跳过了它。 显然这会创建数据库。 所以我的解决方案是从 Python 控制台运行以下代码: from app import db from app.models import User, Posts db.create_all() u = User(username='admin', email='[email protected]') db.session.add(u) db.session.commit() 添加第一条记录 为了在数据库中添加第一条记录并避免上述错误,您拥有index.html的第一条路线在第一次运行时不应有与数据库相关的任何内容: @app.route('/') def home(): return render_template("index.html") 首次运行并添加第一条记录(来自网络)后,您现在可以在主页上添加与数据库相关的任何内容。 @app.route('/') def home(): posts = TaskPost.query.all() return render_template("index.html", all_posts=posts) 您可以在下面的类定义之后添加以下行来创建/初始化数据库 class Todo(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100)) complete = db.Column(db.Boolean) with app.app_context(): db.create_all()

回答 4 投票 0

SQLAlchemy 2 在简单的一对多连接上提供多行

我正在使用 SQLAlchemy 2 (v2.0.15)。我有一个一对多关系定义如下: 班级位置(基地): __表名__ =“位置” location_pk: 映射[int] = 映射_列(

回答 2 投票 0

http://localhost/5000 无法在 Docker Flask 中工作

无法打开文件“/web/manage.py”:[Errno 2]没有这样的文件或目录 退出并显示代码 2 注意:尝试了发布的所有类似问题解决方案,但没有成功。 无论我做什么,都无法获取http://

回答 2 投票 0

flask sqlalchemy 与额外字段的多对多关系

我有 2 个表:餐厅和食品,以及第三个表restaurants_foods,它存储两个表之间的多对多关系 restaurants_foods = db.Table('restaurants_foods', db.C...

回答 2 投票 0

Flask-SQLAlchemy 的 db.session.commit() 错误

作为初学者,代码如下: 消息类(db.Model): id = db.Column(db.Integer, Primary_key=True) 名称 = db.Column(db.String(20), nullable=False) 内容 = db.Column(db.Text, nullable=Fal...

回答 1 投票 0

在 Flask 的分页中找不到“items”属性

我对 Flask 和分页总体来说非常陌生。 我需要对列表进行分页,如下所示: 活动简介结果 = [ {'id':112233,'名称':'DSR-335','描述':'描述','货币':'...

回答 1 投票 0

Flask-它一直显示“方法不允许”

我是 Web 开发新手,我正在使用 Flask 构建我的 Web。当我运行 app.py 并导航到登录页面时,它一直显示“方法不允许”。我不确定我哪里做错了。请

回答 1 投票 0

如何让 SQLite 使用 SQLAlchemy 的唯一自动增量 id?

我正在开发一个项目,需要在数据库中存储有关脚本的信息。据我了解,SQLite 主键整数字段默认是自动递增的。问题是,当你删除...

回答 1 投票 0

给定一个 SQLAlchemy 查询对象,我如何确定它是否以及如何排序?

假设 Post 是 SQLAlchemy 模型,如果我有如下 SQLAlchemy 查询: query1 = Post.query.filter_by(category_id=2) query2 = Post.query.filter_by(category_id=2).order_by(Post.id.desc()) 查询3 = 发布....

回答 1 投票 0

sqlalchemy 按 json 字段过滤

我有带有 json 列的模型。模型和数据示例: 应用程序=烧瓶(__名称__) app.config['SQLALCHEMY_DATABASE_URI'] = 'postgres://...' 数据库 = SQLAlchemy() db.init_app(应用程序) app.app_context().push()

回答 5 投票 0

使用 SQLAchemy 构建数据库

你好,我有点坚持使用 SQLAlchemy 为我的 Flask 应用程序创建数据库。事实上,我正在观看 Flask 应用程序的教程,一切正常,直到出现此错误:SQLAlchemy.crea...

回答 1 投票 0

如何正确更改 Flask-SQLAlchemy 中的数据库 URI 以进行故障转移处理?

我正在使用 Flask-SQLAlchemy 连接到 MariaDB 数据库。我已在 .env 文件中配置了数据库 URI。我想实现一个故障转移机制,这样如果与 MariaDB 的连接失败,它

回答 1 投票 0

使用 SQLAlchemy 删除寄存器时出现错误

我正在从与 SQLAlchemy 连接的数据库中删除一行,但收到以下错误: 文件“/app/.heroku/python/lib/python3.6/site-packages/sqlalchemy/util/compat.py”,l...

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.