我正在开发一个flask应用程序,试图隔离我的单元测试。我正在使用flask-sqlalchemy,并在运行测试后尝试使用create_all和drop_all方法来清理我的数据库。
但是,我的create_all和drop_all方法似乎并不像文档中所说的那样实际创建/删除表。我在调用create_all之前已经在应用程序中导入了模型,就像大多数其他答案所说的那样。
这是我用下面的代码得到的错误:
psycopg2.ProgrammingError: relation "tasks" does not exist
下面是我的相关代码
/app.py
import os
imp
我想把数据添加到一个没有运行Flask应用程序的情况下使用的数据库中。
有没有办法在应用程序和数据库初始化之后从应用程序中取回db。
我的代码看起来像
db = SQLAlchemy()
def init_app():
app = Flask(__name__)
db = SQLAlchemy(app)
db.init_app(app)
return app
我想做的是
from app import init_app
app = init_app() # initialized but not running
# db is used in mode
对于我的Flask应用程序,我想使用扩展连接到我在AWS上创建的一个数据库实例。
当我尝试连接时,应用程序超时,并得到以下错误:
'xxxxxxxxxxxxxxx.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com'(60")上的sqlalchemy.exc.OperationalError:(OperationalError) (2003 )“无法连接到MySQL服务器”
我的代码是这样的:
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
ap
我正在运行单元测试来测试一个API,该API在使用Postman进行测试时运行良好。这个API在表单中接受两个参数,{"body":"hey","title":"title"}根据我创建的模型将这些值添加到数据库。返回的响应格式与从数据库中获取的额外关键字id类似。问题是,它在Postman上运行得很好。然而,当使用Pytest进行测试时,就不能工作了。
以下是测试文件中的代码。
import os
import unittest
from flask import Flask
from flask_sqlalchemy impo
我正在尝试使用这段代码在本地主机上的Flask应用程序中添加一个表到数据库中-但它不起作用。我该怎么办?
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI']='postgresql://postgres:123@localhost:5432/postgres'
db = SQLAlchemy(app)
class Person(db.Model):
我在Flask上有一个用于新闻审核的工作web应用程序,它有一些SqlAlchemy方法来处理审核请求,例如批准,拒绝当前选择的新闻,列出它们等。
我想为这些方法编写单元测试,并使它们工作,但我不知道如何在一个db会话中执行来自测试用例的所有请求,以便我可以删除对数据库的所有更改。或者,有没有其他更干净、更合适的方法来做到这一点?
我发现也许我所需要的就是SqlAlchemy中的"scoped_session“,但是我所有的尝试都失败了。如果这是正确的方式,请告诉我在哪里使用这行代码(在设置中,或在测试用例set_up方法中)。
from sqlalchemy.orm import s
我正在做一个简单的Flask web应用程序,我想使用nosetest。我一直纠结于如何使用Flask-SQLAlchemy连接到我的测试文件中的内存测试数据库。当我运行我的测试时- Flask连接到我的主应用程序的数据库,更重要的是,在每次测试后都无法清理它。下面是我的测试代码:
import nose
from nose.tools import *
from pyquery import PyQuery as pq
from flask.ext.sqlalchemy import SQLAlchemy
from app import site, db
from app.models
假设我在我的烧瓶应用程序中有这样一个模型:
class Foo(db.Model):
id = db.Column(db.Integer, primary_key=True)
bar = db.Column(db.String)
在Flask视图中,我想查询我的数据库以检索这种类型的记录。
在教程中,我看到人们以两种方式运行这样的查询:使用flask.ext.sqlalchemy.SQLAlchemy配置或模型。
使用flask.ext.sqlalchemy.SQLAlchemy
应用程序是这样设置的.
from flask import Flask
from flask.
我试图用数据库编写一个烧瓶应用程序,但是数据库已经存在了。我不想仅仅为了与数据库交互,就必须再次用Python (例如models.py)代码定义我的所有表,因为这样做会做两次(某种程度上)相同的事情。但我似乎找不到一个清楚的例子来说明如何做到这一点。我可以看到有几个问题在问同样的问题,但回答并不明确。
在我的__init__.py文件中
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy.ext.automap import automap_base
...
db = SQLAlchemy()
Base = automap_ba