首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SQLAlchemy核心: AttributeError:'unicode‘对象没有属性'shares_lineage’

使用SQLAlchemy核心: AttributeError:'unicode‘对象没有属性'shares_lineage’
EN

Stack Overflow用户
提问于 2016-03-18 14:48:36
回答 1查看 312关注 0票数 0

我试图使用SQLAlchemy核心从表中选择数据。

代码语言:javascript
复制
import sqlalchemy as sa
...
with database_engine.connect() as conn:
    s = map(dict, conn.execute(sa.select([destination.c])))
print s

但我得到了以下错误:

代码语言:javascript
复制
/wowcomputers/.virtualenvs/project/lib/python2.7/site-packages/sqlalchemy/sql/selectable.pyc in __init__(self, columns, whereclause, from_obj, distinct, having, correlate, prefixes, suffixes, **kwargs)
   2450             self._raw_columns = []
   2451             for c in columns:
-> 2452                 c = _interpret_as_column_or_from(c)
   2453                 if isinstance(c, ScalarSelect):
   2454                     c = c.self_group(against=operators.comma_op)

/wowcomputers/.virtualenvs/project/lib/python2.7/site-packages/sqlalchemy/sql/elements.pyc in _interpret_as_column_or_from(element)
   3852     # be forgiving as this is an extremely common
   3853     # and known expression
-> 3854     if element == "*":
   3855         guess_is_literal = True
   3856     elif isinstance(element, (numbers.Number)):

<string> in <lambda>(self, other)

/wowcomputers/.virtualenvs/project/lib/python2.7/site-packages/sqlalchemy/sql/base.pyc in __eq__(self, elements, other)
    569         for c in getattr(other, "_all_columns", other):
    570             for local in self._all_columns:
--> 571                 if c.shares_lineage(local):
    572                     l.append(c == local)
    573         return elements.and_(*l)

AttributeError: 'unicode' object has no attribute 'shares_lineage'

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-18 14:48:36

使用sqlachemy.core执行select时,需要向select传递一个可选选项列表。

代码语言:javascript
复制
sa.select([destination.c.column1, destination.c.column2])

当您只是将所有列传递到select语句时,忘记删除包装列表是一个常见的错误,所以请更改

代码语言:javascript
复制
sa.select([destination.c])

到这个

代码语言:javascript
复制
sa.select(destination.c)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36087402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档