【python – 使用SQLAlchemy批量upsert】教程文章相关的互联网学习教程文章

python – 如何在SQLAlchemy中指定一个条件,其中一个条件要求列为空?【代码】

不确定这个问题的正确标题应该是什么.我有以下架构: >事项与WorkItems有一对多的关系.> WorkItem与LineItems有一对一(或一零)关系. 我试图在Matters和WorkItems之间创建以下关系Matter.unbilled_work_items = orm.relation(WorkItem,primaryjoin = (Matter.id == WorkItem.matter_id) and (WorkItem.line_item_id == None),foreign_keys = [WorkItem.matter_id, WorkItem.line_item_id],viewonly=True )抛出:AttributeError: '_N...

python – SQLALCHEMY – 迭代数据【代码】

当我使用SQLALchemy时,如何迭代列名? 例如.Column Name 1, Column Name 2, Column Name 3, etc...第二个问题是我有以下查询:root = dbsession.query(MyTable).filter(MyTable.name==u'john').all()但是,当我这样做时:for row in root:print row我没有得到任何结果.相反,我必须这样做:print row.name, row.age, etc...我不能只打印行来从所有列返回数据吗?解决方法:dbsession.query(MyTable).filter(MyTable.name == u’john’...

python – 在SQLAlchemy中使用cdecimal【代码】

所以我试图使用cdecimal在我的数据库中存储货币值. SQLAlchemy Docimport sys import cdecimal sys.modules["decimal"] = cdecimal我连接了我的PostgreSQL数据库,如下所示:sqlalchemy.url = postgresql+psycopg2://user:password@host:port/dbname我已经设置了这样的模型:class Exchange(Base):amount = Column(Numeric)...def __init__(self, amount):self.amount = cdecimal.Decimal(amount)但是,每当我这样做时,我都会收到以下...

python – 将SQLalchemy存储字符串设置为小写的正确方法是什么?【代码】

我正在使用SQLAlchemy与我的数据库通信.因为没有多少人会使用我的应用程序(至少在最初阶段),我认为SQLite是最快/最简单的后端. 我有一个用户,它有一个基于字符串的唯一ID,例如asdf@asdf.com,或Fnord先生.我不关心id的格式 – 只是它是唯一的.但是,我希望这是一个不区分大小写的唯一性.所以Fnord先生和先生. fNoRd是等价的. 显然你可以使用的架构上有一个COLLATE设置,但是(至少对于sqlite)它似乎并不是一个好的前锋.我的解决方案是在...

python – SQLAlchemy关系错误:对象没有属性’c’【代码】

我使用sqlautocode来生成我的模型和所有关系.我正在尝试做一个简单的查询obj = session.query(Venue).filter(Venue.symbol=="CARNEGIE_HALL").one()出于某种原因,我不断收到此错误消息:File "/usr/lib64/python2.6/site-packages/sqlalchemy/orm/relationships.py", line 331, in _annotate_present_fkssecondarycols = util.column_set(self.secondary.c)AttributeError: 'Event' object has no attribute 'c'如果我注释掉关系定...

python – 模型中的SQLAlchemy自定义本地属性【代码】

我定义了一个简单的模型,并在类中添加了一些非SQL相关的属性. 如果属性是int或string类型的东西正在工作.但如果它是字典或列表类型,那么神奇地在模型类的所有不同实例上使用相同的列表. 例:# Sample model class class TestClass(Base):# SQL Mappings __tablename__ = 'test1'pid = Column("id", Integer, primary_key=True)name = Column('name', String)# Non SQL related attributesworks_var = 0works_not_var = []# ...在...

python – SQLAlchemy的随机错误【代码】

我正在使用nginx,uwsgi和SQLAlchemy的设置.我最近从SQLObject切换,现在我看到SQLAlchemy出现奇怪的随机错误.例如:sqlalchemy.exc.ResourceClosedError: This result object does not return rows. It has been closed automatically.要么:sqlalchemy.exc.NoSuchColumnError: "Could not locate column in row for column 'module.id'"这是SQLAlchemy中的一种我不知道的行为吗?它可以与uwsgi中的多个进程/线程相关吗? 我的uwsgi...

python – Flask-SQLAlchemy检查数据库服务器是否响应【代码】

我正在使用flask-SQLAlchemy作为我的webservice.我想有一个端点,检查使用的MySQL数据库可用性/响应性的状态.我该怎么办呢?谢谢. 以下是我的代码的相关部分: mywebsvc.py... app = Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://mylogin:mypw@localhost/mydb'db.init_app(app) ...models_shared.pyfrom flask.ext.sqlalchemy import SQLAlchemydb = SQLAlchemy()models.pyfrom models_shared import dbclass ...

python – SQLAlchemy线程中的事务是否安全?

我正在使用SQLAlchemy的表达式语言开发一个Web应用程序,而不是它的orm.我想在我的应用程序中使用多个线程,但我不确定线程??安全性.我正在使用this section of the documentation进行连接.我认为这是线程安全的,因为我在每个请求中引用了一个特定的连接.这个线程安全吗?解决方法:connections和sessions的文档说,线程不是线程安全的,也不打算在线程之间共享.The Connection object is not thread-safe. While a Connection can be s...

python – assertRaises没有捕获IntegrityError,Flask SQLAlchemy【代码】

我的测试没有捕获带有assertRaises的psycopg2.IntegrityError.我正在使用Flask-SQLAlchemy.def test_insert_cash_flow(self):cf = CashFlow()db.session.add(cf)self.assertRaises(psycopg2.IntegrityError, db.session.commit)我的CashFlow SQLAlchemy模型有几个nullable = False字段.它说我的测试失败了,并且IntegrityError被打印到屏幕上,但我的assertRaises没有抓住这个.有人怀疑为什么?解决方法:SQLAlchemy引发了sqlalchemy....

python – sqlalchemy表架构自动加载【代码】

我正在创建一个像这样的SQL炼金术表:myEngine = self.get_my_engine() # creates engine metadata = MetaData(bind=myEngine) SnapshotTable = Table("mytable", metadata, autoload=False, schema="my schema")我必须使用自动加载假,因为表可能存在或可能不存在(并且该代码必须在创建表之前运行) 问题是,如果我使用autoload = False,当我尝试查询表(在由另一个进程创建之后)执行session.query(SnapshotTable)时,我得到一个:Inva...

python – SQLAlchemy – 将文本查询与过滤器结合使用【代码】

我使用的是SA 0.6.6,Python 2.66和Postgres 8.3. 我有一些查询需要一些复杂的安全检查,可以使用WITH RECURSIVE查询来处理.我想要做的是将文本查询与查询对象结合起来,以便我可以根据需要应用过滤器. 我最初的想法是将我的文本查询创建为子查询,然后将其与用户的查询和过滤器相结合.不幸的是,这不起作用.subquery = session.query(sharedFilterAlias). from_statement(sharedFilterQuery).subquery()这会导致此错...

python – 在sqlalchemy映射集合中使用值元组【代码】

在多对多关系中,我在关联表上有一些额外的数据来描述关系(数量和布尔值).我想使用映射集合来避免直接使用关联对象,但我无法弄清楚如何使用元组来映射映射中的值.据我所知,Attribute as dict of lists using middleman table with SQLAlchemy是相似的,但倒退. 为了说明这一点,我想做这样的事情:>>> collection.items[item] = (3, True) >>> collection.items[item] = (1, False) >>> colletion.items {"item name": (3, True), "it...

python – Flask / SQLAlchemy – 如何全局使用latin-1而不是UTF-8?【代码】

我有一个使用Flask,SQLAlchemy和MySQL编写的Web应用程序.当我通过表单提交字符串时(例如request.form [‘Username’]),它们通过SQLAlchemy提交,最终作为Unicode字符串提交给MySQL.我的数据库正在使用latin-1字符集,所以我真的希望在整个过程中使用latin-1.有没有办法强制Flask或SQLAlchemy总是使用/转换为latin-1而无需手动执行string.encode(‘latin-1’)? 作为这会导致问题的一个例子,当我执行SELECT … WHERE Name =:name并提...

python – 为什么我必须在Flask for SQLAlchemy中更改uri?【代码】

我正在尝试在Flask中开发一个Web应用程序,我注意到如果我想使用SQLite3作为我的数据库,那么我必须输入DATABASE = 'flaskr.json'但是,如果我想使用SQLAlchemy进行数据库实现,我必须使用类似的东西DATABASE = 'sqlite:////Users/jake/repos/flaskralchemy/flaskr.db这种变化有什么意义?此外,在我看到的所有示例中,没有人在其服务器上创建实际数据库.到底是怎么回事? 提前致谢.解决方法:我有点不清楚你在问什么,你在哪里设置这个DAT...