On Tue, 28 Nov 2006 11:01:29 +0100
Julien Cigar <[EMAIL PROTECTED]> wrote:
>
> I think that the problem is with the start_date column.
>
> c.start_date=time.asctime() is not a valid DateTime, you have to use
> datetime.today() or something like that. SQLAlchemy (psycopg in fact)
> maps timestamps with DateTime objects.
>
>
Thanks for your answer, but the problem is another.
It's my brain, I wrote c.user_id=u instead c.user=u.
I solved the problem.
> Enrico Morelli wrote:
> > Dear all,
> >
> > I've a strange problem with session.flush() that I'm not able to
> > understand why. I've the following tables
> >
> > users=Table('users', metadata,
> > Column('user_id', Integer, primary_key=True),
> > Column('firstname', String),
> > Column('lastname', String),
> > Column('login', String),
> > Column('uid', Integer),
> > Column('gid', Integer),
> > Column('password', String),
> > Column('email', String),
> > Column('institute', String),
> > Column('nationality', String),
> > Column('home_directory', String),
> > Column('category', String(1)))
> >
> >
> > calculation=Table('calculations', metadata,
> > Column('calculation_id', Integer, primary_key=True),
> > Column('user_id', Integer, ForeignKey('users.user_id'),
> > primary_key=True),
> > Column('program', String),
> > Column('job', String),
> > Column('workdir', String),
> > Column('start_date', DateTime),
> > Column('protein', String),
> > Column('status', String(1)))
> >
> >
> > So, I create the engine and so on.
> >
> > engine=create_engine('postgres://[EMAIL PROTECTED]/db')
> > metadata=BoundMetaData(engine)
> > session=create_session()
> >
> > users=Table('users', metadata, autoload=True)
> > calculations=Table('calculation', metadata, autoload=True)
> >
> > class Users(object): pass
> > class Calculations(object): pass
> >
> > mapper(Users, users)
> > mapper(Calculations, calculations, properties={'user':
> > relation(Users)})
> >
> > u=session.query(Users).get_by(login='rossi')
> > c=Calculations()
> > c.job='1234'
> > c.user_id=u
> > c.start_date=time.asctime()
> > c.program='cara'
> > c.workdir='/home/morelli'
> > c.protein='test'
> > c.status='R'
> > session.save(c)
> > session.flush()
> >
> > SQLError: (ProgrammingError) can't adapt 'INSERT INTO calculations
> > (calculation_id, user_id, job, workdir, start_date, protein, status,
> > program) VALUES (%(calculation_id)s, %(user_id)s, %(job)s,
> > %(workdir)s, %(start_date)s, %(protein)s, %(status)s,
> > %(program)s)' {'status': 'R', 'workdir': '/home/morelli',
> > 'user_id': <__main__.Users object at
> > 0xb75d55cc>, 'calculation_id': 11L, 'job': '1234', 'program':
> > 0xb75d55cc>'cara',
> > 'protein': 'test', 'start_date': 'Tue Nov 28 09:59:07 2006'}
> >
> > If I do the same thing by hand under psql, it's works fine.
> > Where is the problem?
> >
> > Thanks
> >
>
>
--
-------------------------------------------------------------------
(o_
(o_ //\ Coltivate Linux che tanto Windows si pianta da solo.
(/)_ V_/_
+------------------------------------------------------------------+
| ENRICO MORELLI | email: [EMAIL PROTECTED] |
| * * * * | phone: +39 055 4574269 |
| University of Florence | fax : +39 055 4574253 |
| CERM - via Sacconi, 6 - 50019 Sesto Fiorentino (FI) - ITALY |
+------------------------------------------------------------------+
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected]
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
-~----------~----~----~----~------~----~------~--~---