Hi, I've been using SQLAlchemy since a month. I'm having some problems with a one-to-many relationship. I have 2 tables: one for users and one for users's emails. The problem arises when I want to put a timestamp in the email table in order to see when a given account was created. Here are the tables, my code, and the error:
User Table: CREATE TABLE `user` ( `id` int(11) NOT NULL auto_increment, `name` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 Email Table: CREATE TABLE `email` ( `id` int(11) NOT NULL auto_increment, `email` varchar(100) default NULL, `user_id` int(11) NOT NULL, `last_modified` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `fk_user_id` (`user_id`), CONSTRAINT `fk_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ##########CODE############ user_table = Table('user', metadata, autoload=True) email_table = Table('email', metadata, autoload=True) class User(object): pass class Email(object): pass session_context = SessionContext(create_session) assign_mapper(session_context, User, user_table, properties={'emails':relation(Email)}) assign_mapper(session_context, Email, email_table) obj = User() obj.get(1).emails Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/lib/python2.3/site-packages/sqlalchemy/orm/ attributes.py", line 53, in __get__ return self.get(obj) File "/usr/lib/python2.3/site-packages/sqlalchemy/orm/ attributes.py", line 217, in get values = callable_() File "/usr/lib/python2.3/site-packages/sqlalchemy/orm/ strategies.py", line 222, in lazyload result = session.query(self.mapper, with_options=options).select_whereclause(self.lazywhere, order_by=order_by, params=params) File "/usr/lib/python2.3/site-packages/sqlalchemy/orm/query.py", line 309, in select_whereclause return self._select_statement(statement, params=params) File "/usr/lib/python2.3/site-packages/sqlalchemy/orm/query.py", line 798, in _select_statement return self.execute(statement, params=params, **kwargs) File "/usr/lib/python2.3/site-packages/sqlalchemy/orm/query.py", line 694, in execute result = self.session.execute(self.mapper, clauseelement, params=params) File "/usr/lib/python2.3/site-packages/sqlalchemy/orm/session.py", line 183, in execute return self.connection(mapper, close_with_result=True).execute(clause, params, **kwargs) File "/usr/lib/python2.3/site-packages/sqlalchemy/engine/base.py", line 444, in execute return Connection.executors[c](self, object, *multiparams, **params) File "/usr/lib/python2.3/site-packages/sqlalchemy/engine/base.py", line 484, in execute_clauseelement return self.execute_compiled(elem.compile(engine=self.__engine, parameters=param), *multiparams, **params) File "/usr/lib/python2.3/site-packages/sqlalchemy/engine/base.py", line 503, in execute_compiled proxy(str(compiled), parameters) File "/usr/lib/python2.3/site-packages/sqlalchemy/engine/base.py", line 499, in proxy self._execute_raw(statement, parameters, cursor=cursor, context=context) File "/usr/lib/python2.3/site-packages/sqlalchemy/engine/base.py", line 547, in _execute_raw self._execute(cursor, statement, parameters, context=context) File "/usr/lib/python2.3/site-packages/sqlalchemy/engine/base.py", line 566, in _execute raise exceptions.SQLError(statement, parameters, e) sqlalchemy.exceptions.SQLError: (ValueError) invalid literal for int(): 7- 'SELECT email.last_modified AS email_last_modified, email.user_id AS email_user_id, email.id AS email_id, email.email AS email_email \nFROM email \nWHERE %s = email.user_id ORDER BY email.id' [1L] Sorry for putting too much data, but I'm a little desperate, I've been trying to do this for a whole week and I can't find useful information about this error. I only found that this exception is when a query is not very well formed or something like that. Please help me as soon as you can, thanks in advance for reading this post. regards, Roberto Zapata --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---