首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在瓶程序和非瓶程序中使用相同的数据库抽象。

在瓶程序和非瓶程序中使用相同的数据库抽象。
EN

Stack Overflow用户
提问于 2013-09-03 12:02:51
回答 1查看 1.5K关注 0票数 7

基本上,我试图在Flask应用程序(对于REST )和非Flask之间共享尽可能多的数据库层代码。

在纯Python (打算在非web应用程序中导入)和REST守护进程中使用相同的瓶-SQLAlchemy层是个好主意吗?

我想另一种说法,虽然我不确定术语,“我如何最好地共享数据库模型之间的Flask应用程序和一个单独的Python导入库?”

或者从另一个角度来看,如果您还想与导入库共享瓶-SQLAlchemy抽象,那么在Flask中使用SQL是否有意义。是否比使用普通的SQLAlchemy更好?

用例:我们有一个包含多个表的大型数据库,并且希望为访问数据库构建一个REST (用于客户访问)和一个Python导入库(用于性能良好的内部工具),但当然,它们之间应该尽可能多地共享代码。

相关信息:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-03 17:01:01

在web上下文之外使用Flask-SQLAlchemy模型是创建一个Flask应用程序和调用的问题。

代码语言:javascript
复制
app.test_request_context().push()

这里的重点是你将如何处理你的“非网络”库。如果当您需要使用这个库时,安装整个烧瓶库并不是一个问题,那么以这种方式使用它一点问题都没有。

如果您计划在库数据访问代码中进行性能改进,比如使用不同的会话、并发等,那么您将修改初始代码,因此这是一个完全不同的场景。在本例中,纯SQLAlchemy方法可能更好,但它实际上取决于这两种模式之间的差异。

通常,与模型一起出现的是方法,使用两种不同的ORM模式(Flask-SQLAlchemy包装器模型和纯SQLAlchemy)意味着重复代码。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18591887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档