草庐IT

SQLALCHEMY_TRACK_MODIFICATIONS

全部标签

python - 使用 sqlalchemy 进行 bool 字段查询

Postgres模型:classSong(db.Model):id3_parsed=db.Column(db.Boolean,server_default=u'false')运行以下查询给出正确的计数:selectcount(*)fromsongwhereid3_parsedisfalse;但是我该如何使用flask-sqlalchemy来实现呢?这不起作用:songs=Song.query.filter(Song.id3_parsed==False).all() 最佳答案 songs=Song.query.filter(Song.

python - SQLAlchemy ORM __init__ 方法与

在SQLAlchemyORMtutorial以下代码作为将映射到表的类的示例给出:>>>fromsqlalchemyimportColumn,Integer,String>>>classUser(Base):...__tablename__='users'......id=Column(Integer,primary_key=True)...name=Column(String)...fullname=Column(String)...password=Column(String)......def__init__(self,name,fullname,password):...sel

python - 获取 fixture 中的主键(id)(Python,SQLAlchemy)

我正在使用fixture测试Pylons应用程序,但我偶然发现了一个问题。假设我有这样的数据集:classCompanyData(DataSet):classtest_company:company_full_name=u'FirmaTęst'company_short_name=u'TęstCo'classUserData(DataSet):classtest_user:user_login='testuser'user_password='test'company=CompanyData.test_company现在的问题是,当我在功能测试中使用此数据时(如http://farmd

python - 如何仅将 SQLAlchemy 记录器输出到文件

根据我在SQLAlchemy日志记录配置文档中阅读的内容,我了解到sqlalchemy.create_engine上的echo参数控制是否将sqlalchemy日志记录强制输出到标准输出,但不应影响日志消息是否可用记录处理程序。在下面的代码中,如果echo=False,我不会向stdout或db.log输出,如果echo=True,我会同时向stdout和db.log输出>。当db.log仍然存在时,我不想输出任何东西。我怎样才能做到这一点?这是python2.7.6和sqlalchemy0.9.9importsqlalchemyimportloggingactive_db_url='

python - 为多个 celery worker 和线程正确设置 Flask-SQLAlchemy

当有多个celeryworker涉及多个线程并且都查询同一个数据库时,我正在努力使我的Flask、SQLAlchemy(mysql)和Celery设置正常工作。问题是我无法弄清楚如何以及在何处应用所需的更改,这些更改为flask应用程序和每个celeryworker提供了一个独立的数据库对象。据我所知,需要单独的session来避免讨厌的数据库错误,例如阻止其他数据库查询的不完整事务。这是我目前的项目结构/flask_celery.pyfromceleryimportCelerydefmake_celery(app):celery=Celery(app.import_name,back

python - 获取 sqlalchemy 基类对象而不是子对象

我的模型中有三个类,其中一个类由另外两个类继承:classItem(Base):__tablename__='item'id=Column(Integer,primary_key=True)title=Column(Unicode(300))type=Column(Unicode(50))__mapper_args__={'polymorphic_on':type}classNote(Item):__tablename__='note'id=Column(Integer,ForeignKey('item.id'),primary_key=True)extra=Column(Text)_

python - 识别 sqlalchemy.exc.OperationalError

我正在trycatchmysql/sqlalchemyOperationalErrors并替换handleaccessdenied(1045)与connectionrefused(2003)不同sqlalchemy.exc.OperationalError:(pymysql.err.OperationalError)(1045,"Accessdeniedforuser…(Backgroundonthiserrorat:http://sqlalche.me/e/e3q8)sqlalchemy.exc.OperationalError:(pymysql.err.OperationalErr

python - 使用 sqlalchemy 如何根据每个请求动态绑定(bind)到数据库引擎

我有一个基于Pylons的Web应用程序,它通过Sqlalchemy连接(v0.5)到Postgres数据库。为了安全起见,我没有使用一般的Postgres用户(例如“webapp”),而是要求用户输入他们自己的Postgres用户ID和密码,而不是遵循简单Web应用程序的典型模式(如几乎所有教程中所见),并使用它来建立连接。这意味着我们可以充分利用Postgres的安全性。更复杂的是,有两个独立的数据库需要连接。虽然它们目前位于同一个Postgres集群中,但它们需要能够在以后移动到不同的主机。我们正在使用sqlalchemy的declarative包,虽然我看不出这与此事有任何关系

python - 使用 Flask-SQLAlchemy 事件 API 广播到 Flask-SocketIO?

我是一名开发简单的多用户游戏(想想扫雷游戏)的新手,使用Flask作为API后端,使用AngularJS作为前端。我按照教程构建了Angular/Flask应用程序,并使用Flask-ReSTLess编写了一个RESTfulAPI。现在我想在数据库中的游戏数据发生更改时将事件推送到所有客户端(因为它是通过POST发送到一个ReSTLess端点)。我在看使用SqlAlchemyevent.listenAPI调用Flask-SocketIOemitfunction向客户端广播数据。这是完成我想要做的事情的合适方法吗?这种方法有缺点吗? 最佳答案

python - 使用 sqlalchemy 等待行更新或行插入

我有一个显示数据库内容的应用程序,该数据库每5-10分钟更新一次。加载数据库中的所有数据大约需要5分钟。我不想在每次刷新时重新加载数据库中的所有数据,而是只想加载新行或已更新的行的字段。是否可以使用sqlalchemy检查更改的或新的字段(轮询更改)?是否可以使用sqlalchemy等待更改的或新的字段(使用阻塞函数调用)?如果重要的话,数据库是postgres数据库。 最佳答案 ProstgeSQL有一个NOTIFY/LISTEN机制,可以与触发器一起使用来发送插入、删除和更新的通知。通知包含一个参数,例如表和操作。看起来SQLA