问题标签 [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.
python - 使用 SQLAlchemy 和 Flask 时如何优化更新记录
我将 SQLAlchemy 与 Flask 和 Flask-SQLAlchemy 扩展一起使用。我感到困惑的是如何优化记录的更新。作为概念证明,我编写了以下端点:
一切都如我所愿,但在更新现有书籍记录时,SQLAlchemy 运行三个查询,它们是:
- SELECT book.id AS book_id, book.title AS book_title FROM book WHERE book.id = ?
- 更新书集标题=?在哪里 book.id = ?
- SELECT book.id AS book_id, book.title AS book_title FROM book WHERE book.id = ?
我理解为什么 SQLAlchemy 会进行所有三个查询,但是仅仅更新一条记录似乎有点过分。有没有办法优化这里发生的查询量?
(作为说明,我在端点上进行了一些包装,以根据约定呈现模板,这就是您看不到的原因render_template
)
python - 更新数据模型
我有数据模型(类)例如看起来像这样:
我现在在这个表中有很多记录,我想添加一个字段,例如保存电子邮件地址。
我已经搜索了文档,但没有找到推荐的方法。我已经手动更新了我的 MySql 并将该字段添加到模型中,如果我正确声明了这些字段,则大部分时间都可以使用。
是否有“最佳实践”如何做到这一点?SQLAlchemy 是否内置了对表定义进行更新的支持?
python - 类没有指定表或表名,也没有从现有的表映射类继承
当我尝试向 python/flask 添加新表时 -
这是表模式 -
当我进入交互式 python shell 并from myapp import db ;
收到此错误消息时,
关于如何解决这个问题的任何想法
python - 如何更新 SQLAlchemy 行条目?
假设表有三列username
:password
和no_of_logins
。
当用户尝试登录时,会检查一个带有类似查询的条目
如果密码匹配,他会继续前进。我想做的是计算用户登录的次数。因此,每当他成功登录时,我想增加该no_of_logins
字段并将其存储回用户表。我不确定如何使用 SqlAlchemy 运行更新查询。
python - Flask-SQLAlchemy 导入/上下文问题
我想构建我的 Flask 应用程序,例如:
apps.members
是一个烧瓶蓝图。
现在,为了创建模型类,我需要拥有应用程序,例如:
但是,如果我尝试将该模型导入我的 Blueprint 应用程序,我会感到害怕RuntimeError: working outside of request context
。如何在此处正确获取我的应用程序?相对导入可能有效,但它们非常丑陋并且有自己的上下文问题,例如:
python - Flask-SQLAlchemy 可为空=假
我正在使用 Flask 和 Flask-SQLAlchemy 扩展来创建一个简单的注册表单。在我的 User 类中,我将属性“email”设置为 nullable=False,但是当我在网站上测试表单而不包含电子邮件时,它会将新用户保存到数据库,而不是像我预期的那样抛出异常。知道为什么会这样吗?感谢您的关注!
这是代码:
python - 如何使用 WTForms 和 SQLAlchemy 更新多对多数据?
我在使用 Flask Framework 构建应用程序时遇到了一个小问题。
我正在尝试创建一个简单的用户 + 权限模块。为了存档它,我在用户和权限表之间建立了多对多的关系。
这是我的模型,形式和路线
模型
形式
路线
添加操作完美运行,关系已添加,但是当我尝试编辑用户时,出现此错误。
追溯
python - 多对多使用 Flask-SQLAlchemy 返回原始 sql 而不是执行
我将 python 框架烧瓶与 sqlalchemy 一起使用。
我的多对多看起来像这样:
现在如果我这样做
collection.questions 不返回问题列表,而是返回以下查询。
任何帮助将不胜感激!
谢谢
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'
这是我的模型:
有人能告诉我如何让它工作吗?我也尝试过以下模型,但这也行不通。同样的错误。
python - 没有链接表/模型的多对多关系
我有一个模型User
和一个模型Thing
。AUser
可以拥有零个或多个Thing
s。AThing
可能由零个或多个User
s 拥有。通常我会添加第三个将 sThing_Ownership
链接User
到Thing
s 的表,但我想利用 SQLAlchemy 的 backref 功能,这样如果我有一个User
实例george
,我可以调用george.inventory
以获取Thing
属于 s 的 s列表george
。
解决此问题的最佳方法是什么,或者我应该添加第三个模型并实现User.inventory
为通过第三个Thing_Ownership
模型搜索相关关系?