Я пробую Доусер , это действительно круто, но я застрял с небольшой проблемой, и я не смог найти ничего полезного в Google, так что я здесь .. ^^;
Я запускаю приложение CherryPy + SQLAlchemy .. Оно работает нормально, за исключением того, что когда я включаю Dowser (то есть после того, как я вызываю dowser.Root ()), то время от времени я получаю исключения, такие как:
SystemError:
../Objects/tupleobject.c:809: плохо
аргумент внутренней функции
для невинно выглядящих иструкций, таких как доступ к полю, сопоставленному с SQLA. Соответствующая часть трассировки:
File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/attributes.py", line 158, in __get__
return self.impl.get(instance_state(instance), instance_dict(instance))
File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/attributes.py", line 377, in get
value = callable_()
File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/strategies.py", line 586, in __call__
result = q.all()
File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/query.py", line 1267, in all
return list(self)
File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/query.py", line 1422, in instances
rows = [process[0](context, row) for row in fetch]
File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/query.py", line 2032, in main
return _instance(row, None)
File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/mapper.py", line 1653, in _instance
identitykey = identity_key(row)
File "/usr/local/lib/python2.6/dist-packages/SQLAlchemy-0.5.8-py2.6.egg/sqlalchemy/orm/mapper.py", line 1594, in identity_key
return (identity_class, tuple(row[column] for column in pk_cols))
Может ли это быть связано с потоком Dowser, обращающимся к сборщику мусора? Любой намек на то, что я мог проверить?
Я использую Python 2.6.2 на Xubuntu Jaunty.
Спасибо за внимание!