diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-05-04 20:27:18 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-05-04 20:27:18 +0000 |
commit | f7d896af75460ca03a3ec08a1de6b621d23cb340 (patch) | |
tree | fcd569e3a5e90e4f6d96f79175f854c57cdfc7a3 /lib/sqlalchemy/mapping/mapper.py | |
parent | 94494e19ba79dda718ff274e0b5cefb8ad94bae1 (diff) | |
download | sqlalchemy-f7d896af75460ca03a3ec08a1de6b621d23cb340.tar.gz |
save_obj/delete_obj need to specify column types to binds for primary key criterion
Diffstat (limited to 'lib/sqlalchemy/mapping/mapper.py')
-rw-r--r-- | lib/sqlalchemy/mapping/mapper.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/sqlalchemy/mapping/mapper.py b/lib/sqlalchemy/mapping/mapper.py index db404b6ea..15d197a34 100644 --- a/lib/sqlalchemy/mapping/mapper.py +++ b/lib/sqlalchemy/mapping/mapper.py @@ -580,9 +580,9 @@ class Mapper(object): if len(update): clause = sql.and_() for col in self.pks_by_table[table]: - clause.clauses.append(col == sql.bindparam(col._label)) + clause.clauses.append(col == sql.bindparam(col._label, type=col.type)) if self.version_id_col is not None: - clause.clauses.append(self.version_id_col == sql.bindparam(self.version_id_col._label)) + clause.clauses.append(self.version_id_col == sql.bindparam(self.version_id_col._label, type=col.type)) statement = table.update(clause) rows = 0 for rec in update: @@ -654,9 +654,9 @@ class Mapper(object): if len(delete): clause = sql.and_() for col in self.pks_by_table[table]: - clause.clauses.append(col == sql.bindparam(col.key)) + clause.clauses.append(col == sql.bindparam(col.key, type=col.type)) if self.version_id_col is not None: - clause.clauses.append(self.version_id_col == sql.bindparam(self.version_id_col.key)) + clause.clauses.append(self.version_id_col == sql.bindparam(self.version_id_col.key, type=self.version_id_col.type)) statement = table.delete(clause) c = statement.execute(*delete) if c.supports_sane_rowcount() and c.rowcount != len(delete): |