如何在Flask中使用SQLAlchemy调用数据库函数?

乔平

我想调用我在PostgreSQL数据库中创建的函数。我看过官方的SQLAlchemy文档以及SO上的几个问题,但似乎没有人解释如何在SQLAlchemy中设置功能。

我确实找到了这个问题,但是不确定如何如答案所示编译函数。该代码去哪儿了?当我尝试将其放入视图脚本和模型脚本时,出现错误。

编辑1(8/11/2016)

根据社区的要求和要求,以下是我遗漏的所有详细信息:

我有一个称为书的表,其各列中包含有关一般书的信息(书名,作者,出版日期...)。

然后,我得到了许多同类型的表,它们的列包含有关每本书中所有章节的信息(章节名称,长度,简短摘要...)。每本书都有自己的桌子是绝对必要的。我在所有章节的一张大桌子旁玩耍,发现它不适合我的需求,不必太提起笨拙。

我要查询的功能是查询书的表以获取单个书的名称,并将该书的名称转换为regclass。然后,它向regclass对象查询其所有数据,将所有行作为表返回,就像各个书本表一样,然后退出。这是原始代码:

CREATE OR REPLACE FUNCTION public.get_book(bookName character varying)
 RETURNS TABLE(/*columns of individual book table go here*/)
 LANGUAGE plpgsql
AS $function$
declare
    _tbl regclass;
begin
    for _tbl in
        select name::regclass
        from books
        where name=bookName
    loop
        return query execute '
        select * from ' ||_tbl;
    end loop;
end;
$function$

此功能已经在命令行和pgAdmin中进行了多次测试。它按预期工作。

我的意图是在我的Flask应用程序中查看一个视图,该视图的路径为@app.route('/book/<string:bookName>')并在渲染模板之前调用上述函数。确切的视图如下:

@app.route('/book/<string:bookName>')
def book(bookName):
  chapterList = /*call function here*/
  return render_template('book.html', book=bookName, list=chapterList)

这是我的问题:如何以SQLAlchemy知道并可以调用数据库中具有的函数的方式设置我的应用程序?我也乐于接受其他建议,以达到同样的效果。

PS:我只是省略了这些信息,目的是使我的问题尽可能地抽象,不知道论坛的规则规定了一个非常具体的问题的要求。请原谅我缺乏知识。

西奥·勒

如果要在不使用原始sql的情况下执行此操作,则可以func从sqlalchemy中使用

from sqlalchemy import func

data = db.session.query(func.your_schema.your_function_name()).all()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Codeigniter中将数据库函数调用到自定义库中?

来自分类Dev

使用实体框架6调用数据库函数

来自分类Dev

在Django Model数据库函数中使用Unaccent

来自分类Dev

如何在Flask SQLAlchemy中使用SUM聚合函数?

来自分类Dev

如何在python中使用sqlalchemy调用mysql函数?

来自分类Dev

如何在 React Native 中使用 SQLAlchemy 数据库?

来自分类Dev

在连接中使用的标量数据库函数是每组不同的输入调用一次还是每行调用一次?

来自分类Dev

如何避免围绕Django自定义数据库函数调用的SQL中的括号?

来自分类Dev

在Slick表定义中使用数据库函数-怎么样?

来自分类Dev

调用用户定义的数据库函数

来自分类Dev

在Flask中使用SQLAlchemy创建数据库

来自分类Dev

如何在不使用C的库函数(使用read()系统调用)的文件中找到单词?

来自分类Dev

如何将`matches()` 与数据库函数一起使用?

来自分类Dev

如何在sqlalchemy中使用默认值初始化数据库?

来自分类Dev

如何在sqlalchemy中使用默认值初始化数据库?

来自分类Dev

如何在Go中调用linux共享库函数?

来自分类Dev

如何在外部调用javascript库函数?

来自分类Dev

如何在Laravel中使用Ajax调用将数据发布到数据库?

来自分类Dev

如何在Ionic框架(AngularJS)中使用JavaScript从数据库调用数据到首页

来自分类Dev

如何使用函数和 sqlalchemy 连接到数据库

来自分类Dev

Hibernate从数据库函数生成ID

来自分类Dev

AWS:如何在YAML数据库名称中使用转换cloudformation函数

来自分类Dev

如何在 Laravel 中使用此数据库编写更新函数

来自分类Dev

在apply函数中使用库函数

来自分类Dev

使用pytest-mock在python中使用SQLalchemy模拟数据库调用

来自分类Dev

如何在现有的sqlalchemy模型中使用flask-sqlalchemy?

来自分类Dev

如何在现有的sqlalchemy模型中使用flask-sqlalchemy?

来自分类Dev

如何在MSSQL中使用数据导出数据库?

来自分类Dev

如何在表单验证中使用数据库数据?

Related 相关文章

  1. 1

    如何在Codeigniter中将数据库函数调用到自定义库中?

  2. 2

    使用实体框架6调用数据库函数

  3. 3

    在Django Model数据库函数中使用Unaccent

  4. 4

    如何在Flask SQLAlchemy中使用SUM聚合函数?

  5. 5

    如何在python中使用sqlalchemy调用mysql函数?

  6. 6

    如何在 React Native 中使用 SQLAlchemy 数据库?

  7. 7

    在连接中使用的标量数据库函数是每组不同的输入调用一次还是每行调用一次?

  8. 8

    如何避免围绕Django自定义数据库函数调用的SQL中的括号?

  9. 9

    在Slick表定义中使用数据库函数-怎么样?

  10. 10

    调用用户定义的数据库函数

  11. 11

    在Flask中使用SQLAlchemy创建数据库

  12. 12

    如何在不使用C的库函数(使用read()系统调用)的文件中找到单词?

  13. 13

    如何将`matches()` 与数据库函数一起使用?

  14. 14

    如何在sqlalchemy中使用默认值初始化数据库?

  15. 15

    如何在sqlalchemy中使用默认值初始化数据库?

  16. 16

    如何在Go中调用linux共享库函数?

  17. 17

    如何在外部调用javascript库函数?

  18. 18

    如何在Laravel中使用Ajax调用将数据发布到数据库?

  19. 19

    如何在Ionic框架(AngularJS)中使用JavaScript从数据库调用数据到首页

  20. 20

    如何使用函数和 sqlalchemy 连接到数据库

  21. 21

    Hibernate从数据库函数生成ID

  22. 22

    AWS:如何在YAML数据库名称中使用转换cloudformation函数

  23. 23

    如何在 Laravel 中使用此数据库编写更新函数

  24. 24

    在apply函数中使用库函数

  25. 25

    使用pytest-mock在python中使用SQLalchemy模拟数据库调用

  26. 26

    如何在现有的sqlalchemy模型中使用flask-sqlalchemy?

  27. 27

    如何在现有的sqlalchemy模型中使用flask-sqlalchemy?

  28. 28

    如何在MSSQL中使用数据导出数据库?

  29. 29

    如何在表单验证中使用数据库数据?

热门标签

归档