Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Alchemy中使用反射/自动加载_Python_Sqlalchemy_Flask_Flask Sqlalchemy - Fatal编程技术网

Python 如何在Alchemy中使用反射/自动加载

Python 如何在Alchemy中使用反射/自动加载,python,sqlalchemy,flask,flask-sqlalchemy,Python,Sqlalchemy,Flask,Flask Sqlalchemy,我正在一个简单的测试应用程序中尝试炼金术。 我正在运行SQL server,我可以使用SQLalchemy从Flask连接到,如下所示: from flask import render_template from app import app, db @app.route('/') @app.route('/index') def index(): people = list(db.session.execute("select top 10 * from people where

我正在一个简单的测试应用程序中尝试炼金术。 我正在运行SQL server,我可以使用SQLalchemy从Flask连接到,如下所示:

from flask import render_template
from app import app, db

@app.route('/')
@app.route('/index')
def index():

    people = list(db.session.execute("select top 10 * from people where ppl_username IS NOT NULL"))
但是,我还想使用SQLPSUEDO语言和SQLalchemy的ORM部分来查询。因为这是一个现有的数据库,我不想编写自己的类并生成一个数据库,我想反映现有的数据库并以这种方式访问它。 我已经找到了,但我不知道如何(以及在哪里)使用它

除了想知道如何做到这一点;我还想知道:

  • 数据库反射是在每次请求时发生还是仅在应用程序启动时发生?(这是一个很大的数据库,所以每一个请求都会成为一个阻碍)
  • 是否可以从数据库生成类的代码并保存它们以备将来使用,就像Django的inspectDB()那样

谢谢,

是的,一切都有可能。我过去总是照你说的做。它生成sqlalchemy代码以在sqlalchemy中创建表/列,并将它们放在文件中。只需安装它,然后从命令行运行它

这将从my webapp的现有mysql数据库生成模型sqlalchemy模型,并创建一个文件alchemy_models.py:

sqlautocode-mysql://:@localhost:3306/-o alchemy\u models.py

注意,mysql://位只是在SA中生成连接的语法


希望这有帮助

它当然有帮助。我已经做了一个快速的测试,虽然我仍然需要找出如何在炼金术中实现这个,但我的小测试似乎有效。我可以从这里走了,谢谢不,斯诺普!