good catch. Actually the safest thing is default=lambda:str(uuid.uuid4())
since uuid4() returns an object, not a string. On May 5, 9:10 am, Anthony <abasta...@gmail.com> wrote: > Also, you might want default=uuid.uuid4 instead of default=uuid.uuid4(). I > believe the former will call the uuid4 function separately for every record > inserted (probably what you want), whereas the latter will generate a single > unique uuid only once per call to db.define_table (which presumably may > endure for more than one record insert, depending on what your code does). > > Anthony > > > > > > > > On Wednesday, May 4, 2011 11:49:42 PM UTC-4, mart wrote: > > Hi, > > > I think I may have been looking at this too long... its giving the > > following error, and I can't see why... > > (using DAL in script) > > > Thanks in advance, > > Mart :) > > > db.define_table('mail', > > Field('uuid',length=64,default=uuid.uuid4()), > > Field('recipients','list:string'),Field('From'), > > Field('password'),Field('smtp_server'),Field('smtp_port')) > > db.commit() > > > Traceback (most recent call last): > > File "/Users/mart/Applications/Aptana Studio 2.0/plugins/ > > org.python.pydev.debug_1.6.5.2011020317/pysrc/pydevd.py", line 1133, > > in <module> > > debugger.run(setup['file'], None, None) > > File "/Users/mart/Applications/Aptana Studio 2.0/plugins/ > > org.python.pydev.debug_1.6.5.2011020317/pysrc/pydevd.py", line 918, in > > run > > execfile(file, globals, locals) #execute the script > > File "/Users/mart/aptanaApps/src/_purple.py", line 524, in <module> > > dbBlueObj.defineTables() > > File "/Users/mart/aptanaApps/src/blueLite/db_storage/db_blue.py", > > line 278, in defineTables > > Field('password'),Field('smtp_server'),Field('smtp_port')) > > File "/Users/mart/aptanaApps/src/blueLite/pyUtils/sql/web2py/ > > dal.py", line 4028, in define_table > > polymodel=polymodel) > > File "/Users/mart/aptanaApps/src/blueLite/pyUtils/sql/web2py/ > > dal.py", line 590, in create_table > > self.create_sequence_and_triggers(query,table) > > File "/Users/mart/aptanaApps/src/blueLite/pyUtils/sql/web2py/ > > dal.py", line 1142, in create_sequence_and_triggers > > self.execute(query) > > File "/Users/mart/aptanaApps/src/blueLite/pyUtils/sql/web2py/ > > dal.py", line 1152, in execute > > return self.log_execute(*a, **b) > > File "/Users/mart/aptanaApps/src/blueLite/pyUtils/sql/web2py/ > > dal.py", line 1147, in log_execute > > ret = self.cursor.execute(*a,**b) > > sqlite3.OperationalError: near "From": syntax error