问题标签 [flask-sqlalchemy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
534 浏览

python - 使用 SQLAlchemy 和 Flask 时如何优化更新记录

我将 SQLAlchemy 与 Flask 和 Flask-SQLAlchemy 扩展一起使用。我感到困惑的是如何优化记录的更新。作为概念证明,我编写了以下端点:

一切都如我所愿,但在更新现有书籍记录时,SQLAlchemy 运行三个查询,它们是:

  1. SELECT book.id AS book_id, book.title AS book_title FROM book WHERE book.id = ?
  2. 更新书集标题=?在哪里 book.id = ?
  3. SELECT book.id AS book_id, book.title AS book_title FROM book WHERE book.id = ?

我理解为什么 SQLAlchemy 会进行所有三个查询,但是仅仅更新一条记录似乎有点过分。有没有办法优化这里发生的查询量?

(作为说明,我在端点上进行了一些包装,以根据约定呈现模板,这就是您看不到的原因render_template

0 投票
1 回答
97 浏览

python - 更新数据模型

我有数据模型(类)例如看起来像这样:

我现在在这个表中有很多记录,我想添加一个字段,例如保存电子邮件地址。

我已经搜索了文档,但没有找到推荐的方法。我已经手动更新了我的 MySql 并将该字段添加到模型中,如果我正确声明了这些字段,则大部分时间都可以使用。

是否有“最佳实践”如何做到这一点?SQLAlchemy 是否内置了对表定义进行更新的支持?

0 投票
3 回答
17836 浏览

python - 类没有指定表或表名,也没有从现有的表映射类继承

当我尝试向 python/flask 添加新表时 -

这是表模式 -

当我进入交互式 python shell 并from myapp import db ;收到此错误消息时,

关于如何解决这个问题的任何想法

0 投票
5 回答
287156 浏览

python - 如何更新 SQLAlchemy 行条目?

假设表有三列usernamepasswordno_of_logins

当用户尝试登录时,会检查一个带有类似查询的条目

如果密码匹配,他会继续前进。我想做的是计算用户登录的次数。因此,每当他成功登录时,我想增加该no_of_logins字段并将其存储回用户表。我不确定如何使用 SqlAlchemy 运行更新查询。

0 投票
2 回答
81146 浏览

python - Flask-SQLAlchemy 导入/上下文问题

我想构建我的 Flask 应用程序,例如:

apps.members是一个烧瓶蓝图。

现在,为了创建模型类,我需要拥有应用程序,例如:

但是,如果我尝试将该模型导入我的 Blueprint 应用程序,我会感到害怕RuntimeError: working outside of request context。如何在此处正确获取我的应用程序?相对导入可能有效,但它们非常丑陋并且有自己的上下文问题,例如:

0 投票
4 回答
15558 浏览

python - Flask-SQLAlchemy 可为空=假

我正在使用 Flask 和 Flask-SQLAlchemy 扩展来创建一个简单的注册表单。在我的 User 类中,我将属性“email”设置为 nullable=False,但是当我在网站上测试表单而不包含电子邮件时,它会将新用户保存到数据库,而不是像我预期的那样抛出异常。知道为什么会这样吗?感谢您的关注!

这是代码:

0 投票
2 回答
5633 浏览

python - 如何使用 WTForms 和 SQLAlchemy 更新多对多数据?

我在使用 Flask Framework 构建应用程序时遇到了一个小问题。

我正在尝试创建一个简单的用户 + 权限模块。为了存档它,我在用户和权限表之间建立了多对多的关系。

这是我的模型,形式和路线

模型

形式

路线

添加操作完美运行,关系已添加,但是当我尝试编辑用户时,出现此错误。

追溯

0 投票
1 回答
1020 浏览

python - 多对多使用 Flask-SQLAlchemy 返回原始 sql 而不是执行

我将 python 框架烧瓶与 sqlalchemy 一起使用。

我的多对多看起来像这样:

现在如果我这样做

collection.questions 不返回问题列表,而是返回以下查询。

任何帮助将不胜感激!

谢谢

0 投票
4 回答
36317 浏览

python - SqlAlchemy 不接受 DateTime 列中的 datetime.datetime.now 值

我应该首先提到我正在通过 Flask-SqlAlchemy 使用 SqlAlchemy。我不相信这会影响问题,但如果确实如此,请告诉我。

这是我在 SqlAlchemy 中运行 create_all 函数时收到的错误消息的相关部分

InterfaceError: (InterfaceError) Error binding parameter 4 - probably unsupported type. u'INSERT INTO podcasts (feed_url, title, url, last_updated, feed_data) VALUES (?, ?, ?, ?, ?)' (u'http://example.com/feed', u'Podcast Show Title', u'http://example.com', '2012-04-17 20:28:49.117000'

这是我的模型:

有人能告诉我如何让它工作吗?我也尝试过以下模型,但这也行不通。同样的错误。

0 投票
1 回答
157 浏览

python - 没有链接表/模型的多对多关系

我有一个模型User和一个模型Thing。AUser可以拥有零个或多个Things。AThing可能由零个或多个Users 拥有。通常我会添加第三个将 sThing_Ownership链接UserThings 的表,但我想利用 SQLAlchemy 的 backref 功能,这样如果我有一个User实例george,我可以调用george.inventory以获取Thing属于 s 的 s列表george

解决此问题的最佳方法是什么,或者我应该添加第三个模型并实现User.inventory为通过第三个Thing_Ownership模型搜索相关关系?