python - 同时使用索引和 UniqueConstraint 时的 SQLAlchemy KeyError
问题描述
当我在我的表定义中包含 aUniqueConstraint
和Index
时,我得到一个 KeyError。UniqueConstraint
但是,如果我单独或单独指定,错误就会消失Index
。我正在使用SQLAlchemy==1.3.8
.
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String
from sqlalchemy.schema import Index, UniqueConstraint
Base = declarative_base()
class A(Base):
__tablename__ = 'table_a'
id = Column(Integer, primary_key=True)
a = Column(String(32))
b = Column(String(32))
UniqueConstraint('a_unique_constraint', A.a, A.b)
Index('a_index', A.a, A.b)
回溯(最近一次通话最后):文件“/Users/ryan.zotti/Documents/repos/recommendations/orm_example.py”,第 14 行,在 UniqueConstraint('a_unique_constraint', Aa, Ab) 文件“/anaconda3/envs/recommendations /lib/python3.7/site-packages/sqlalchemy/sql/schema.py”,第 2870 行,在init self、*columns、_autoattach=_autoattach、_column_flag=_column_flag 文件“/anaconda3/envs/recommendations/lib/python3. 7/site-packages/sqlalchemy/sql/schema.py”,第 2762 行,在初始化中 self._check_attach() 文件“/anaconda3/envs/recommendations/lib/python3.7/site-packages/sqlalchemy/sql/schema.py”,第 2818 行,在 _check_attach self._set_parent_with_dispatch(tables.pop()) 文件中“ /anaconda3/envs/recommendations/lib/python3.7/site-packages/sqlalchemy/sql/base.py”,第 456 行,在 _set_parent_with_dispatch self._set_parent(parent) 文件“/anaconda3/envs/recommendations/lib/python3. 7/site-packages/sqlalchemy/sql/schema.py”,第 2881 行,在 _set_parent ColumnCollectionMixin._set_parent(self, table) 文件“/anaconda3/envs/recommendations/lib/python3.7/site-packages/sqlalchemy/sql /schema.py”,第 2838 行,在 self._col_expressions(table) 中的 _set_parent 中:文件“/anaconda3/envs/recommendations/lib/python3.7/site-packages/sqlalchemy/sql/schema.py”,第 2834 行,在 self._pending_colargs 中的 col 的 _col_expressions 文件“/anaconda3/envs/recommendations/lib/python3.7/site-packages/sqlalchemy/sql/schema.py”,第 2834 行,在 self._pending_colargs 中的 col文件“/anaconda3/envs/recommendations/lib/python3.7/site-packages/sqlalchemy/util/_collections.py”,第 194 行,在getitem return self._data[key] KeyError: 'a_unique_constraint'
解决方案
推荐阅读
- python-3.x - python中的不一致交换
- jquery - 使用jQuery将跨度添加到div中的文本
- javascript - 从 JS 中的 HH:mm 计算平均值
- c - 使用 Malloc 分配二维数组
- reactjs - 材质 UI 选项卡如何更改方向
- flutter - Flutter - 在没有预览面板的情况下静默打印文档?
- html - 使用 Sublime Text 3 使用快捷方式创建多个超链接
- c++ - 以下代码是多线程增量计数器和打印的好解决方案吗?
- javascript - 使用 JavaScript 关闭选项卡/浏览器之前的确认
- encryption - 如何使用 HElib 或 SEAL 对具有二进制运算的加密数据执行除法运算?