I am getting sometimes the following exception with rc3 which I did not
see with rc2 when I do something like this:
engine = sa.create_engine(dburl, encoding='utf8', echo=False)
# connect to the database
##connection = engine.connect()
Session = sao.sessionmaker()
Session.configure(bind=engine)
##Session.configure(bind=connection)
session = Session()
query = session.query(db.Preferences).get(1)
lang = session.query(db.Language).get(2)
query.language = lang
session.commit()
Am I doing which I should not, which now causes this or ...?
Best regards
Werner
Following the traceback and part of my model.
Traceback (most recent call last):
File "saTest.py", line 56, in <module>
session.commit()
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc3-py2.5.egg\sqlalchemy\orm\session.py",
line 670, in commit
self.transaction.commit()
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc3-py2.5.egg\sqlalchemy\orm\session.py",
line 375, in commit
self._prepare_impl()
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc3-py2.5.egg\sqlalchemy\orm\session.py",
line 359, in _prepare_impl
self.session.flush()
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc3-py2.5.egg\sqlalchemy\orm\session.py",
line 1354, in flush
self._flush(objects)
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc3-py2.5.egg\sqlalchemy\orm\session.py",
line 1424, in _flush
flush_context.execute()
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc3-py2.5.egg\sqlalchemy\orm\unitofwork.py",
line 260, in execute
UOWExecutor().execute(self, tasks)
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc3-py2.5.egg\sqlalchemy\orm\unitofwork.py",
line 723, in execute
self.execute_save_steps(trans, task)
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc3-py2.5.egg\sqlalchemy\orm\unitofwork.py",
line 738, in execute_save_steps
self.save_objects(trans, task)
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc3-py2.5.egg\sqlalchemy\orm\unitofwork.py",
line 729, in save_objects
task.mapper._save_obj(task.polymorphic_tosave_objects, trans)
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc3-py2.5.egg\sqlalchemy\orm\mapper.py",
line 1318, in _save_obj
rows += c.rowcount
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc3-py2.5.egg\sqlalchemy\engine\base.py",
line 1397, in rowcount
return self.context.get_rowcount()
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc3-py2.5.egg\sqlalchemy\engine\default.py",
line 279, in get_rowcount
return self.cursor.rowcount
File
"c:\python25\lib\site-packages\sqlalchemy-0.5.0rc3-py2.5.egg\sqlalchemy\pool.py",
line 466, in __getattr__
return getattr(self.cursor, key)
kinterbasdb.ProgrammingError: (0, 'Invalid cursor state. The cursor
must be open to perform this operation.')
The relevant part of my model are:
class BaseExt(object):
def __repr__(self):
return "%s(%s)" % (
(self.__class__.__name__),
', '.join(["%s=%r" % (key, getattr(self, key))
for key in sorted(self.__dict__.keys())
if not key.startswith('_')]))
Base = sad.declarative_base(cls=BaseExt)
metadata = Base.metadata
class Language(Base):
__table__ = sa.Table(u'language', metadata,
sa.Column(u'langid', sa.Integer(),
sa.Sequence('gen_language_langid'), primary_key=True, nullable=False),
sa.Column(u'name', sa.String(length=50, convert_unicode=False),
nullable=False),
sa.Column(u'locales', sa.String(length=2, convert_unicode=False)),
sa.Column(u'created', sa.Date()),
sa.Column(u'updated', sa.Date()),
)
class Preferences(Base):
__table__ = sa.Table(u'preferences', metadata,
sa.Column(u'prefid', sa.Integer(),
sa.Sequence('gen_preferences_prefid'), primary_key=True, nullable=False),
...
sa.Column(u'fk_langid', sa.Integer(),
sa.ForeignKey(u'language.langid'), nullable=False),
...
)
cellar = sao.relation(Cellar)
language = sao.relation(Language)
reason_ls = sao.relation(Reason_Ls)
displayformats = sao.relation(Displayformats)
measure_ls = sao.relation(Measure_Ls)
ingr_ls = sao.relation(Ingr_Ls)
tastingsys = sao.relation(Tastingsys)
imagetype_ls = sao.relation(Imagetype_Ls, primaryjoin=
('Preferences.fk_imagetypeid==Imagetype_Ls.imagetypeid'))
filters = sao.relation(Filters)
ratingtype_ls = sao.relation(Ratingtype_Ls)
container_ls = sao.relation(Container_Ls)
imagetype_ls_rec = sao.relation(Imagetype_Ls, primaryjoin=
('Preferences.rec_fk_imagetypeid==Imagetype_Ls.imagetypeid'))
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---