[Sqlalchemy-tickets] Issue #3842: _warn_pk_with_no_anticipated_value - 'ColumnSet' object has no at
Brought to you by:
zzzeek
From: Adam M. <iss...@bi...> - 2016-11-03 06:12:15
|
New issue 3842: _warn_pk_with_no_anticipated_value - 'ColumnSet' object has no attribute 'columns' https://bitbucket.org/zzzeek/sqlalchemy/issues/3842/_warn_pk_with_no_anticipated_value Adam Mills: When inserting on a table without specifying the PK and with no auto generation specified in SqlAlchemy a warning is generated. The warning code throws ColumnSet' object has no attribute 'columns' ``` #!python test = Table('test', metadata, Column('id', Integer, nullable=False, primary_key=True), Column('notpk', String(10), nullable=True) ) ``` ``` #!python Db.session().execute(Database.test.insert().values(notpk="adam")) File "local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 945, in execute return meth(self, multiparams, params) File "local/lib/python2.7/site-packages/sqlalchemy/sql/elements.py", line 263, in _execute_on_connection return connection._execute_clauseelement(self, multiparams, params) File "local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1046, in _execute_clauseelement if not self.schema_for_object.is_default else None) File "<string>", line 1, in <lambda> File "local/lib/python2.7/site-packages/sqlalchemy/sql/elements.py", line 436, in compile return self._compiler(dialect, bind=bind, **kw) File "local/lib/python2.7/site-packages/sqlalchemy/sql/elements.py", line 442, in _compiler return dialect.statement_compiler(dialect, self, **kw) File "local/lib/python2.7/site-packages/sqlalchemy/sql/compiler.py", line 435, in __init__ Compiled.__init__(self, dialect, statement, **kwargs) File "local/lib/python2.7/site-packages/sqlalchemy/sql/compiler.py", line 216, in __init__ self.string = self.process(self.statement, **compile_kwargs) File "local/lib/python2.7/site-packages/sqlalchemy/sql/compiler.py", line 242, in process return obj._compiler_dispatch(self, **kwargs) File "local/lib/python2.7/site-packages/sqlalchemy/sql/visitors.py", line 81, in _compiler_dispatch return meth(self, **kw) File "local/lib/python2.7/site-packages/sqlalchemy/sql/compiler.py", line 1968, in visit_insert self, insert_stmt, crud.ISINSERT, **kw) File "local/lib/python2.7/site-packages/sqlalchemy/sql/crud.py", line 57, in _setup_crud_params return _get_crud_params(compiler, stmt, **kw) File "local/lib/python2.7/site-packages/sqlalchemy/sql/crud.py", line 137, in _get_crud_params _col_bind_name, check_columns, values, kw) File "local/lib/python2.7/site-packages/sqlalchemy/sql/crud.py", line 284, in _scan_cols _append_param_insert_pk(compiler, stmt, c, values, kw) File "local/lib/python2.7/site-packages/sqlalchemy/sql/crud.py", line 467, in _append_param_insert_pk _warn_pk_with_no_anticipated_value(c) File "local/lib/python2.7/site-packages/sqlalchemy/sql/crud.py", line 684, in _warn_pk_with_no_anticipated_value if len(c.table.primary_key.columns) > 1: AttributeError: 'ColumnSet' object has no attribute 'columns' ``` |