for some reason I cannot get my session to commit within a class Here is the error. Traceback (most recent call last): File "/usr/local/lib/python2.6/dist-packages/cherrypy/ _cprequest.py", line 606, in respond cherrypy.response.body = self.handler() File "/usr/local/lib/python2.6/dist-packages/cherrypy/ _cpdispatch.py", line 25, in __call__ return self.callable(*self.args, **self.kwargs) File "WebTest.py", line 106, in index session.flush() File "/usr/local/lib/python2.6/dist-packages/sqlalchemy/orm/ scoping.py", line 123, in do return getattr(self.registry(), name)(*args, **kwargs) File "/usr/local/lib/python2.6/dist-packages/sqlalchemy/orm/ session.py", line 1354, in flush self._flush(objects) File "/usr/local/lib/python2.6/dist-packages/sqlalchemy/orm/ session.py", line 1432, in _flush flush_context.execute() File "/usr/local/lib/python2.6/dist-packages/sqlalchemy/orm/ unitofwork.py", line 257, in execute UOWExecutor().execute(self, tasks) File "/usr/local/lib/python2.6/dist-packages/sqlalchemy/orm/ unitofwork.py", line 720, in execute self.execute_save_steps(trans, task) File "/usr/local/lib/python2.6/dist-packages/sqlalchemy/orm/ unitofwork.py", line 735, in execute_save_steps self.save_objects(trans, task) File "/usr/local/lib/python2.6/dist-packages/sqlalchemy/orm/ unitofwork.py", line 726, in save_objects task.mapper._save_obj(task.polymorphic_tosave_objects, trans) File "/usr/local/lib/python2.6/dist-packages/sqlalchemy/orm/ mapper.py", line 1387, in _save_obj c = connection.execute(statement.values(value_params), params) File "/usr/local/lib/python2.6/dist-packages/sqlalchemy/engine/ base.py", line 824, in execute return Connection.executors[c](self, object, multiparams, params) File "/usr/local/lib/python2.6/dist-packages/sqlalchemy/engine/ base.py", line 874, in _execute_clauseelement return self.__execute_context(context) File "/usr/local/lib/python2.6/dist-packages/sqlalchemy/engine/ base.py", line 896, in __execute_context self._cursor_execute(context.cursor, context.statement, context.parameters[0], context=context) File "/usr/local/lib/python2.6/dist-packages/sqlalchemy/engine/ base.py", line 950, in _cursor_execute self._handle_dbapi_exception(e, statement, parameters, cursor, context) File "/usr/local/lib/python2.6/dist-packages/sqlalchemy/engine/ base.py", line 931, in _handle_dbapi_exception raise exc.DBAPIError.instance(statement, parameters, e, connection_invalidated=is_disconnect) OperationalError: (OperationalError) no such table: __main___test u'INSERT INTO __main___test (name) VALUES (?)' ['network']
And here is the code #!/usr/bin/env python ######################################################################## # # # MODEL # # # ######################################################################## from elixir import * global session, metadata metadata.bind = 'sqlite:///:memory:' metadata.echo = True class Test(Entity): """ ORM for Tests. """ id = Field(Integer, primary_key = True) name = Field(Unicode(50), required = True) questions = OneToMany('Question') def __init__(self,name): """ Accepts a name for a test """ #TODO: Ensure valid input self.name = name class Question(Entity): """ ORM for Questions. """ id = Field(Integer, primary_key = True) question = Field(UnicodeText, required = True) test = ManyToOne('Test') answers = OneToMany('Answer') def __init__(self,test_id, question): """ Accepts a test_id and a question to sign that test """ #TODO: Ensure valid input self.question = question class Answer(Entity): """ ORM for Answers. """ id = Field(Integer, primary_key = True) answer = Field(UnicodeText, required = True) correct = Field(Unicode(1), required = True) # y for correct n for not question = ManyToOne('Question') def __init__(self,question_id,answer,correct=0): """ Accepts a question_id and a answer to assign to that question. Optionally it accepts correct, y for correct, n for not Default for correct is n""" #TODO: Ensure vaild input self.answer = answer self.correct = correct setup_all() create_all() ######################################################################## # # # VIEW/CONTROLLER # # Will Seperate Later # # # ######################################################################## import cherrypy class WebTest(object): """ Cherrypy server root """ def header(self): """ Defines a header to be used for web pages... Should be temporary """ return '<html><head><title>pyWebTest</title></head><body>' def footer(self): """ Defines a footer to be used for web pages... Should also be temporary """ return '</body></html>' @cherrypy.expose() def index(self): """ Root page for pyWebTest server """ output = 'BEGIN<br />' test = Test('network') output = output + 'The test ' + test.name + ' has been initialized!<br />' test1 = Test('A+') output = output + str(session.new)+ '<br />' output = output + str(session.dirty) + '<br />' session.flush() session.commit() if test.id >=0: output = output + 'Test has been added<br />' output = output + str(test1.id) + '<br />' #session.query(Test).all() #session.query(Test).filter(Test.name.in_(['network +','fake'])).all() output = output + 'DONE <br />' return self.header() + output + self.footer() def main(): cherrypy.quickstart(WebTest()) return 0 if __name__ == '__main__': main() --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---