I can't figure out the syntax to issue an update, everything I try (attr
name, column name, attribute) results in "unconsumed column names".
Am I doing something wrong here?
from sqlalchemy import *
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm.session import Session
dsn = 'sqlite:///foo.db'
engine = create_engine(dsn)
Base = declarative_base(bind=engine)
class Test(Base):
__tablename__ = 'update_test'
id = Column(Integer, primary_key=True)
discriminator = Column('type', String(10))
value = Column('somevalue', Integer)
__mapper_args__ = {'polymorphic_on': discriminator}
class MoreTest(Test):
__tablename__ = 'update_test2'
__mapper_args__ = {'polymorphic_identity': 'test'}
id = Column(Integer, ForeignKey('update_test.id'), primary_key=True)
value2 = Column('somevalue2', Integer)
Base.metadata.drop_all()
Base.metadata.create_all()
session = Session(bind=engine)
test = MoreTest(value=2)
session.add(test)
session.flush()
update1 = {'value': 3}
update2 = {'somevalue': 3}
update3 = {Test.value: 3}
update4 = {MoreTest.value: 3}
query_base = session.query(MoreTest).filter(MoreTest.id==test.id)
try:
query_base.update(update1)
except Exception as e:
session.rollback()
print e # Unconsumed column names: value
try:
query_base.update(update2)
except Exception as e:
session.rollback()
print e # Unconsumed column names: somevalue
try:
query_base.update(update3)
except Exception as e:
session.rollback()
print e # Unconsumed column names: somevalue
try:
query_base.update(update4)
except Exception as e:
session.rollback()
print e # Unconsumed column names: somevalue
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.