Thread: [SQLObject] Quixote and Postgres OperationalError
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: Ksenia M. <kse...@gm...> - 2005-08-29 20:02:18
|
Hi, (Sorry, this is Quixote related question, but I've figured there might be people who use SQLObject with Quixote 1 and maybe experienced the same problem) I have a class that does database calls in two places: # simplyfied code class Main: def __init__(self): self.data =3D Tree.getSomeData() def _q_lookup(self, request, name): self.record =3D Tree.get(int(name)) return self (request of url /tree/5/ will call _q_lookup, fetch the needed record and return class instance for further traversal) Only first request of the page goes okay, all other requests result in this error: File "/Users/ksenia/www/3rdparty/sqlobject/main.py", line 901, in get val._init(id, connection, selectResults) File "/Users/ksenia/www/3rdparty/sqlobject/main.py", line 937, in _init selectResults =3D self._connection._SO_selectOne(self, dbNames) File "/Users/ksenia/www/3rdparty/sqlobject/dbconnection.py", line 565, in _SO_selectOne return self.queryOne( File "/Users/ksenia/www/3rdparty/sqlobject/dbconnection.py", line 346, in queryOne return self._runWithConnection(self._queryOne, s) File "/Users/ksenia/www/3rdparty/sqlobject/dbconnection.py", line 217, in _runWithConnection val =3D meth(conn, *args) File "/Users/ksenia/www/3rdparty/sqlobject/dbconnection.py", line 339, in _queryOne self._executeRetry(conn, c, s) File "/Users/ksenia/www/3rdparty/sqlobject/dbconnection.py", line 295, in _executeRetry return cursor.execute(query) OperationalError: server closed the connection unexpectedly =09This probably means the server terminated abnormally =09before or while processing the request. If I remove database call from __init__ method, everything works.=20 class Main is the main class in Quixote applications, so __init__ method is called *before* publisher is initialized. It's the first time I use it that way, and is probably the reason of the error. But it would be nice to understand why it doesn't work :) Thanks. --=20 Ksenia |