问题标签 [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.
sqlalchemy - 具有动态数据库连接的烧瓶 sqlalchemy
我有一个主数据库,其中存储了每个客户端自己的数据库连接。因此,每个客户端都使用 2 个 db:main 和它自己的 db,必须为每个 http 调用确定其连接。我如何使用flask-sqlalchemy 扩展来做到这一点,或者可能纯粹是在sqlalchemy 中?
python - 使用 SQLAlchemy 进行简单验证
我是 sqlalchemy 的新手,我正在尝试实现模型字段的简单验证,由 Django ORM 提供(整数、电子邮件等的最小值和最大值)。SQLAlchemy 可以开箱即用地进行这种字段验证吗?顺便说一句,我正在使用带有 Flask 的 SQLAlchemy。
python - Flask-SQLAlchemy:照片列类型
在我使用 Flask/SQLAlchemy 编码的 Web 应用程序中,我的几个模型需要一个“照片”列类型,它可以处理将原始图像存储在文件系统中的某个位置,并创建图像的不同缩略图大小。理想情况下,我想要类似的东西:
然后,我可以像这样访问文件的 URI/URL:model.photo.big 等...
所以,我的问题是:如何在 model.photo 对象上添加 setter/getter 以便我可以使用提及的语法访问 URIS/URLS?顺便说一句,如果有人有关于使用 SQLAlchemy 的用户定义类型的良好教程/资源(除了官方文档),如果他能分享它,我将不胜感激。
谢谢。
sqlalchemy - sqlalchemy group_by 和 count
我将flask用作带有sqlalchemy的python框架。这些模型使用 query_property 来帮助我构建查询:
每个人都有他居住的城市、州和国家,我想收集所有结果并输出如下内容:
这显然需要按国家、州、城市进行选择计数和分组。按事物分组有效,但我不知道如何实现计数,因为查询属性没有选择方法,在这种情况下我会写:
任何知道如何将query_property与 group_by 和 count 一起使用的人?
sqlalchemy - 2 相同表名的关系混淆 SQLAlchemy
IE:
我收到一个错误:
ArgumentError:无法确定关系 Share.user_from 上的父/子表之间的连接条件。指定一个“primaryjoin”表达式。如果存在“secondary”,则还需要“secondaryjoin”。
我怎样才能解决这个问题?
谢谢!
python - 读取从机,读写主机设置
我有一个使用单个 mysql 服务器的 Flask,SQLAlchemy webapp。我想扩展数据库设置以拥有一个只读的从服务器,这样我就可以在主从服务器之间传播读取,同时继续写入主数据库服务器。
我看过几个选项,我相信我不能用普通的 SQLAlchemy 做到这一点。相反,我计划在我的 webapp 中创建 2 个数据库句柄,一个用于主数据库服务器和从属数据库服务器。然后使用简单的随机值使用主/从数据库句柄进行“选择”操作。
但是,我不确定这是否是使用 SQLAlchemy 的正确方法。关于如何解决这个问题的任何建议/提示?
python - 基于记录数据的SqlAlchemy模型关联
有一个info
表,它与car
表或suv
表有关系。
它在info.type
字段中指定。
那么如何根据记录的类型数据动态创建关联呢?
编辑:我已经有填充数据的表,所以我不能更改数据库模式。
python - SQLAlchemy 与具体继承的多态关系
我正在使用带有 SQLAlchemy 的具体表继承。在声明式样式模型类中,我已成功配置它。
我的代码就像:
在 shell 中测试它时工作正常:
然后我在其他模型中设置关系时遇到了麻烦。每个条目都有一个外键post_id
来加入Post
模型,但我无法在Post
. 那是行不通的:
它提出了一个异常并说:
InvalidRequestError:一个或多个映射器无法初始化 - 无法继续初始化其他映射器。原始异常是:未映射类“models.entry.Entry”。
显然Entry
是一个抽象类,它不能映射到一个真实存在的表。官网的文档有一个例子,但它的基类不是抽象的。现在我应该如何设置与抽象模型的多态关系?
python - 在 SQLAlchemy 关系上设置 delete-orphan 会导致 AssertionError: This AttributeImpl is not configured to track parents
这是我的 Flask-SQLAlchemy 声明代码:
基本上,它是使用声明式的多对多标记。从标记中删除一些条目时,我希望 SQLAlchemy 整理孤儿。正如我在文档中发现的那样,要打开此功能,我应该这样做:
但是,这样的设置会导致AssertionError: This AttributeImpl is not configured to track parents。我用谷歌搜索了一下,除了 SQLAlchemy 的开源代码之外什么也没找到。因此,我创建了 classmethod Tag.delete_orphans()
(它在上面的代码中)以在每次我认为可能会发生一些孤儿时调用它,但这似乎不是很优雅。
任何想法或解释为什么我的设置delete-orphan
不起作用?
python - 通过 SQLAlchemy 中的关联代理分配一组新的多对多相关标签的最优雅方法是什么?
这是我的 Flask-SQLAlchemy 声明代码:
我认为这是非常标准的多对多标记解决方案。现在,我想获取一个角色的所有标签并将一组新标签设置为一个角色。
第一个很简单:
然而,第二个让我整天都在绊倒我的 Python 代码 :-( 我以为我可以做到这一点:
...或者至少使用类似的东西role.tags[:] = ...
,但是我发明的所有东西都引发了许多完整性错误,因为 SQLAlchemy 没有检查是否存在任何现有标签并试图将它们全部插入为全新的实体。
我的最终解决方案是:
问题是:这真的是正确的解决方案吗?有没有更优雅的方法来解决这个琐碎的问题?我认为整个事情都与这个问题有关。也许我只是傻,也许我让事情变得过于复杂......无论如何,谢谢你的任何建议!