我刚开始使用SQLAlchemy并得到一个DetachedInstanceError,并且无法在任何地方find很多信息。 我在会话外部使用实例,所以很自然的是,如果SQLAlchemy没有加载任何关系,它是无法加载的,但是我访问的属性并不是一个关系,事实上这个对象根本就没有关系。 我发现解决scheme,如急于加载,但我不能适用于此,因为这不是一个关系。 我甚至在closures会话之前试着“触摸”这个属性,但是它仍然不能防止这个exception。 甚至在它被成功访问一次之前,什么可能导致这个非关系属性的exception呢? 任何帮助在debugging这个问题表示赞赏。 我将同时尝试获得可重复的独立场景并在此处进行更新。 更新:这是几个堆栈的实际exception消息: File "/home/hari/bin/lib/python2.6/site-packages/SQLAlchemy-0.6.1-py2.6.egg/sqlalchemy/orm/attributes.py", line 159, in __get__ return self.impl.get(instance_state(instance), instance_dict(instance)) File "/home/hari/bin/lib/python2.6/site-packages/SQLAlchemy-0.6.1-py2.6.egg/sqlalchemy/orm/attributes.py", line 377, in get value = callable_(passive=passive) File "/home/hari/bin/lib/python2.6/site-packages/SQLAlchemy-0.6.1-py2.6.egg/sqlalchemy/orm/state.py", line 280, in __call__ self.manager.deferred_scalar_loader(self, toload) File "/home/hari/bin/lib/python2.6/site-packages/SQLAlchemy-0.6.1-py2.6.egg/sqlalchemy/orm/mapper.py", line 2323, in _load_scalar_attributes (state_str(state))) DetachedInstanceError: Instance <ReportingJob at 0xa41cd8c> is not bound to a Session; attribute refresh operation […]
如何使Tornado SQLAlchemy成为async ? 我在MongoDB上find了asynchronousmongo例子的例子,但是我找不到像SQLAlchemy这样的motor 。 有谁知道如何使SQLAlchemy查询执行与tornado.gen (我正在使用MySQL下面的SQLAlchemy ,目前我的处理程序读取数据库和返回结果,我想使这个asynchronous)。
我正在使用MySQL sqlalchemy ,并执行SQLexpression式的查询。 当执行一些查询,然后超时。 我find了一个答案,但我不清楚。 请,任何人都可以帮助我? TimeoutError:QueuePool限制大小5溢出10到达,连接超时,超时30
我需要查询一个SQLAlchemy数据库的id与类似的东西 User.query.filter_by(用户名= '彼得') 但为了id。 我该怎么做呢? [search谷歌和SO没有帮助]
我怎样才能像在SQL中一样添加filter,以便从某个列中select不为NULL的值? SELECT * FROM table WHERE YourColumn IS NOT NULL; 我怎样才能使用SQLAlchemyfilter呢? select = select(table).select_from(table).where(all_filters)
一切都在标题中。 有没有“Pythonic”方法(我的意思是,没有“纯SQL”查询)来定义SQL视图与SQLAlchemy? 谢谢你的帮助,
我正在使用sqlalchemy编写Web应用程序。 在网站未投入生产的第一阶段,一切都很顺利。 我可以很容易地通过删除旧的sqlite数据库和从头开始创build一个新的数据库模式。 现在,网站正在生产中,我需要保留这些数据,但是我仍然希望通过轻松地将数据库转换为新的模式来保持原始开发速度。 所以我们假设在版本50中有model.py,在版本75中有model.py,描述了数据库的模式。 在这两个模式之间,大部分的改变是微不足道的,例如一个新的列被声明为一个默认值,我只是想把这个默认值添加到旧的logging。 最终,一些改变可能不是微不足道的,需要一些预先计算。 如何(或者将要)处理快速变化的Web应用程序,比如每天有一两个新版本的生产代码? 顺便说一句,如果这有什么不同,网站是写在主塔上。
我正在使用这里描述的一个简单的标记系统的MySQLicioustypes的模式。 我已经阅读了4种不同SO线程中标记模式的一些替代实现,这最适合我的需求。 一组条目有“苹果香蕉橙”和“草莓香蕉柠檬”的标签,我试图findElixir / SQLAlchemy等价语句 SELECT * FROM table WHERE tags LIKE "%banana%"; 我一直没能find任何这样的方式来构造一个Class.query.filter / filter_by()命令,并且无法在任何模块的文档中看到类似的方法。 有一个简单的方法来做到这一点? 或者我应该只使用原始的SQL。 额外的问题:MySQLicious模式的缺点是我可能希望search“%apple%”但返回“菠萝”。 有一个高层次的方式来处理这个testing用例吗? 还是应该在每个查询中包含一个前导空间? NB:对于那些关心,这是我第一次使用数据库的经验,所以我可能忽略了其他线程中提到的架构的核心优势。 我的应用程序是logging一个或两个关于已完成的任务,列[TaskID,标签,注释,StartTime,StopTime,TimeTaken],有点像一个简单的日记。 主要是为了教程的目的。 我希望能够通过单独的标签进行search,以大致了解我在特定任务上花费了多less时间。
我是烧瓶和sqlalchemy的新手,我刚刚开始烧瓶应用程序,现在我正在使用sqlalchemy。 我想知道使用flask-sqlalchemy vs sqlalchemy是否有什么好处。 我找不到足够的动机在http://packages.python.org/Flask-SQLAlchemy/index.html或者我不明白的价值! 我希望你的澄清。
这个话题在这里或其他地方还没有得到解决。 有没有解决scheme将SQLAlchemy <Query object>转换为pandasDataFrame? pandas有能力使用pandas.read_sql但这需要使用原始的SQL。 我有两个原因希望避免它:1)我已经拥有了一切使用ORM(本身是一个很好的理由)和2)我使用Python列表作为查询的一部分(例如: .db.session.query(Item).filter(Item.symbol.in_(add_symbols)其中Item是我的模型类, add_symbols是一个列表)。这是SQL SELECT … from … WHERE … IN的等价物。 有什么可能吗?