I am trying to use a table with a timestamp in PostgreSQL 8.0.3 with no success. My definitions are as follows:
CREATE TABLE sessions ( sess_id VARCHAR(128) NOT NULL PRIMARY KEY, sess_logon TEXT NOT NULL, sess_ts TIMESTAMP WITH TIME ZONE DEFAULT current_timestamp, FOREIGN KEY (sess_logon) REFERENCES users (usr_logon) ON DELETE cascade ON UPDATE cascade, ) WITHOUT OIDS; sessions = Table('sessions', db, Column('sess_id', Integer, primary_key=True), Column('sess_logon', String, ForeignKey('users.usr_logon'), nullable=False), Column('sess_ts', DateTime, nullable=True)) Session.mapper = mapper(Session, tables.sessions, properties={ 'secret': tables.sessions.c.sess_id, 'logon': tables.sessions.c.sess_logon, 'ts': tables.sessions.c.sess_ts,}) class Session(object): mapper = None def __init__(self, secret=None, logon=None, ts=None): self.secret = secret self.logon = logon self.ts = ts I then run the following code in ipython: objectstore.begin() s = Session() s.secret = 'notsosecret' s.logon = 'someuser' objectstore.commit() The full trace is below, but the error is basically this: /home/marek/build/bdist.linux-i686/egg/sqlalchemy/databases/postgres.py in convert_bind_param(self, value, engine) TypeError: argument 1 must be DateTime, not None The behaviour that I wanted to see is that the SA would save the session and PG would create the timestamp automatically. What am I doing wrong in terms of using SA? -marek ----- MORE COMPLETE TRACE ------ /home/marek/build/bdist.linux-i686/egg/sqlalchemy/mapping/objectstore.py in commit(*obj) /home/marek/build/bdist.linux-i686/egg/sqlalchemy/mapping/objectstore.py in commit(self, *objects) /home/marek/build/bdist.linux-i686/egg/sqlalchemy/mapping/objectstore.py in execute(self) /home/marek/build/bdist.linux-i686/egg/sqlalchemy/mapping/objectstore.py in execute(self, trans) /home/marek/build/bdist.linux-i686/egg/sqlalchemy/mapping/mapper.py in save_obj(self, objects, uow) /home/marek/build/bdist.linux-i686/egg/sqlalchemy/sql.py in execute(self, *multiparams, **params) /home/marek/build/bdist.linux-i686/egg/sqlalchemy/sql.py in execute(self, *multiparams, **params) /home/marek/build/bdist.linux-i686/egg/sqlalchemy/engine.py in execute_compiled(self, compiled, parameters, connection, cursor, echo, **kwargs) /home/marek/build/bdist.linux-i686/egg/sqlalchemy/ansisql.py in get_params(self, **params) /home/marek/build/bdist.linux-i686/egg/sqlalchemy/sql.py in typeprocess(self, value, engine) /home/marek/build/bdist.linux-i686/egg/sqlalchemy/databases/postgres.py in convert_bind_param(self, value, engine) TypeError: argument 1 must be DateTime, not None N�HY隊X���'���u���[������� ަ�k��!���W�~�鮆�zk��C� [EMAIL PROTECTED],����a{� ��,�H��4�m�����Z��jY�w��ǥrg