问题标签 [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 - Flask-SQLAlchemy:如何有条件地插入或更新一行
我的应用程序使用了 Flask、Flask-SQLAlchemy、Flask-WTF 和 Jinja2 的组合。
在它目前的化身中,我有一个设置表。该表将只有一个记录和一个字段。最初,该表包含零条记录。
我想要实现的是:
- 鉴于 db 中不存在任何条目,则显示准备好供用户输入的空表单
- 鉴于存在条目,显示该条目,然后
- 如果用户更改了值,则更新数据库中的记录。
这是我的代码:
模型.py
表格.py
视图.py
就目前而言,如果该代码不存在但该rssfeed
列为空,则该代码将创建一条记录。
INSERT
如果记录不存在并且UPDATE
如果存在,我该如何更改此代码?
python - 使用 or 语句的 ORM 查询
我正在尝试使用语句http://www.w3schools.com/sql/sql_in.asp通过 id 列表查询用户
可以在没有字符串查询和执行功能的情况下做到这一点吗?
我正在寻找类似下面的东西
python - 如何从桌面应用程序向 python 烧瓶服务器发送 http 请求?
我已经使用烧瓶框架配置了 python 服务器。现在我想从我的桌面应用程序向服务器发送请求。我的服务器位置是:http://127.0.0.1:5000/
我已经编写了可以在浏览器上运行的代码,但我想从我的桌面应用程序中访问该代码。
python - 使用 Flask-SQLAlchemy 进行多对多多数据库连接
我正在尝试使这种多对多连接与 Flask-SQLAlchemy 和两个 MySQL 数据库一起工作,它非常接近,只是它为连接表使用了错误的数据库。这里是基础...
我有main_db
和vendor_db
。表设置为main_db.users
, main_db.user_products
(关系表),然后vendor_db.products
。应该很清楚这些是如何连接的。
在我的 app.py 中,我正在设置这样的数据库:
模型定义是这样设置的:
问题是,当我尝试获取用户的产品时,它试图vendor_db
用于连接表而不是main_db
. 有什么想法可以main_db
改用它吗?我尝试设置另一个绑定main_db
并设置info={'bind_key': 'main_db'}
关系表定义,但没有运气。谢谢!
python - 烧瓶应用的结构
我正在尝试使用 Flask 创建一个简单但并非微不足道的应用程序,但我一直遇到文档中没有很好解释的情况。
我希望我的应用程序在不同的模块之间拆分,但看起来很难从主模块以外的任何其他地方访问主app
对象(或db
from )。flask-sqlalchemy
看起来您必须真正编写自己的方式,将其视为一切都可以访问的全局,这需要一些有问题的代码和一些时间。
两者app
和db
都是在主应用程序实例化的级别创建的,每个示例都假定它们在顶层可用。但是如果我将不同的 url 处理程序拆分为不同的模块,我将失去使用@app.route
装饰器的能力。我可以用 解决这个问题app.add_url_rule('/...', some.module...)
,但话又说回来,app 没有传递给那个函数。
同样的事情发生在db
- 我不知道我是否应该将它粘贴到,或者通过某种方式g
使其可以访问。app
这样做并不能帮助我将模型移动到一个单独的模块中——导入它们时我应该如何访问db
它们?所有示例再次假设它仅可用作局部变量。
我是否遗漏了一些明显的东西,或者我是否试图在这里使用烧瓶来完成错误的任务?
python - 无法从脚本访问数据库
我正在尝试从脚本中的数据库中的表中删除一行。也许这不是最简单的方法,但我认为它应该是可能的。我正在尝试以下操作:
我收到以下错误:
python - Flask SQLAlchemy 查询,指定列名
如何使用模型在查询中指定我想要的列(默认选择所有列)?我知道如何使用 sqlalchmey session: 来做到这一点session.query(self.col1)
,但是如何使用模型来做到这一点?我做不到SomeModel.query()
。有办法吗?
python - 模型的 Python 干净导入 - SQL Alchemy
我有一个具有以下目录结构的烧瓶应用程序:
- 我的应用程序/
- 应用程序.py
__init__.py
- 楷模/
__init__.py
- 用户.py
这些模型使用 Flask-SQLAlchemy,因此,它们需要db
从application.py
用户.py:
因为任何模型都需要访问应用程序的 SQLAlchemy 实例、db
属性,所以我必须将整个包放在路径上,然后从主应用程序模块导入。为了理智起见,我想将模型保存在单独的文件中。我需要将路径代码放在每个模型的顶部吗?有没有更好的办法?我宁愿没有这样的完整路径输入,因为它们可能被部署到具有不同目录结构的不同主机上。理想情况下,会有某种方法在内部处理路径,因此当它通过我用作另一个用户时,mod_wsgi
我不必手动更改代码。
python - Flask Sqlalchemy:不同模块之间的关系
我正在关注 Flask-SQLAlchemy 教程。我在 python 2.6 上有 Flask 0.9、sqlalchemy 0.7.8 和 flask-sqlalchemy 0.16。
我正在尝试创建“一对多”关系,就像他们的教程中一样。
之后,我可以创建数据库:
当两个类都在同一个文件上创建时,它工作得很好。
当我想通过 2 个不同的文件(2 个不同的模块)创建它时,它不再起作用。
这只是一个例子(我正在尝试用大量的类做一些更复杂的事情,我需要两个不同的模块之间存在关系,但我会简化它,以便我的问题更容易理解。)
我有 2 个模块:人员和地址,它们都有:
他们每个人都有之前写的类的声明。
我的主要功能在第三个模块中:
我仍然在 Eclipse 中遇到错误:
*sqlalchemy.exc.NoReferencedTableError:与列'Address.person_id'关联的外键找不到表'person',用于生成目标列'sid'的外键*
我可以找到另一个帖子,有人建议使用“元数据”,但我找不到合适的方法来使用它。
有没有人有解决这个问题的想法?
谢谢 !
object - Flask SqlAlchemy:TypeError:'Class'对象不可迭代
我正在关注 Flask-SQLAlchemy 教程。我在 python 2.6 上有 Flask 0.9、sqlalchemy 0.7.8 和 flask-sqlalchemy 0.16。(我和日食一起工作)
(教程在这里:http ://packages.python.org/Flask-SQLAlchemy/models.html )
我有两个班级:一个男人和一个钱包。有1-1的关系。(每个人都有自己的钱包)
在我的“主”模块中,我创建了我的数据库:
在同一个模块中,我尝试将 Wallet 附加到 Man :
但我得到这个错误:
我不明白为什么会出现这样的错误。添加映射对象的正确方法是什么?
PS:我一直在学习 SQLAlchemy 教程,我相信他们会以不同的方式声明事物:
我应该相信哪个教程?
非常感谢 !