Hi, I've run into this before too.
The quick fix is to restart the cherrypy server. The longer term fix is to have that chunk of code do a hub.rollback() if there is an exception. It only happened to me once, though, so I just restarted and forgot about it. Hope this helps, Krys william wrote: >Just to be able to reproduce it, what are your declaration parameters >and which DB/connector are you using ? > >Have you see that by default SQLObject enable the autoCommit? > >http://www.sqlobject.org/SQLObject.html#declaring-the-class > > > >Jeff Watkins wrote: > > >>I'm not certain whether the problem I'm about to describe is in >>SQLObject or in TurboGears. So I've sent this email to both lists. >> >>I have the following model object: >> >> >>hub = PackageHub("cms") >>__connection__ = hub >> >>class Article(SQLObject,ModelHelper): >> slug= StringCol( alternateID=True, length=255 ) >> sourceFile= StringCol( alternateID=True ) >> # more stuff >> >>I've created a single Article so far. When I load a fresh tg-admin >>shell, and attempt to create a new transaction to manipulate the >>article, the following happens: >> >> >>Python 2.4.1 (#2, Mar 31 2005, 00:05:10) >>[GCC 3.3 20030304 (Apple Computer, Inc. build 1666)] on darwin >>Type "help", "copyright", "credits" or "license" for more information. >>(InteractiveConsole) >> >>> from cms.model import * >> >>> a= Article.get(1) >> >>> a._connection.transaction().begin() >>Traceback (most recent call last): >> File "<console>", line 1, in ? >> File "/Library/Frameworks/Python.framework/Versions/2.4/lib/ >>python2.4/site-packages/SQLObject-0.7.0-py2.4.egg/sqlobject/ >>dbconnection.py", line 809, in begin >> assert self._obsolete, "You cannot begin a new transaction >>session without rolling back this one" >>AssertionError: You cannot begin a new transaction session without >>rolling back this one >> >> >>You may well ask why I'm going through the weird hoops to get a >>transaction. The answer is I'm working on a generic function which >>needs to create a transaction when modifying a model object. The >>above is just an example of me trying to puzzle out how SQLObject works. >> >>Can anyone explain to me how a transaction was begun in the snippet >>above? >> >> >>-- >>Jeff Watkins >>http://metrocat.org/ >> >>'I know about people who talk about suffering for the common good. >>It's never bloody them! When you hear a man shouting "Forward, brave >>comrades!" you'll see he's the one behind the bloody big rock and the >>one wearing the only really arrow-proof helmet!' >>-- Rincewind gives a speech on politics. (Terry Pratchett, >>Interesting Times) >> >> > > > >

