You cannot do: ...Field('name')... database.vendor.name.type='string' database.vendor.name.length=64
you must do ...Field('name','string',length=64)... all the attributes but type, length, notnull, unique can be specified later. On Aug 11, 9:00 am, Don <sam...@gmail.com> wrote: > I have defined my model. > > ==================================================== > # coding: utf8 > # define a SQLite database > database=SQLDB("sqlite://database.db") > > # create a vendor table > database.define_table('vendor', > database.Field('name'), > database.Field('alias'), > database.Field('url'), > database.Field('logo'), > database.Field('active') > ) > > database.vendor.name.type='string' > database.vendor.name.length=64 > database.vendor.name.unique=True > database.vendor.name.requires=[IS_NOT_EMPTY(),IS_NOT_IN_DB(database, > database.vendor.name)] > > database.vendor.alias.type='string' > database.vendor.alias.length=16 > database.vendor.alias.unique=True > database.vendor.alias.requires=[IS_NOT_EMPTY(),IS_NOT_IN_DB(database, > database.vendor.name),IS_NOT_IN_DB(database, database.vendor.alias)] > > database.vendor.url.type='string' > database.vendor.url.length=128 > database.vendor.url.requires=[IS_NOT_EMPTY()] > > database.vendor.logo.type='upload' > database.vendor.logo.requires=[IS_NOT_EMPTY()] > > database.vendor.active.type='boolean' > database.vendor.active.requires=[IS_NOT_EMPTY()] > > database.define_table('distro', > database.Field('vendor_id'), > database.Field('name'), > database.Field('alias'), > database.Field('active') > ) > > database.distro.vendor_id.type='database.vendor' > database.distro.vendor_id.requires=IS_IN_DB > (database,database.vendor.id,'%(name)s') > > database.distro.name.type='string' > database.distro.name.length=64 > database.distro.name.unique=True > database.distro.name.requires=[IS_NOT_EMPTY()] > > database.distro.alias.type='string' > database.distro.alias.length=16 > database.distro.alias.unique=True > database.distro.alias.requires=[IS_NOT_EMPTY(),IS_NOT_IN_DB > (database,database.distro.alias)] > > database.distro.active.type='boolean' > database.distro.active.requires=[IS_NOT_EMPTY()] > > database.define_table('release', > database.Field('distro_id'), > database.Field('version'), > database.Field('alias'), > database.Field('active') > ) > > database.release.distro_id.type='database.distro' > database.release.distro_id.requires=IS_IN_DB > (database,database.distro.id,'%(name)s') > > database.release.version.type='string' > database.release.version.length=16 > database.release.version.unique=True > database.release.version.requires=[IS_NOT_EMPTY()] > > database.release.alias.type='string' > database.release.alias.length=16 > database.release.alias.unique=True > database.release.alias.requires=[IS_NOT_EMPTY(),IS_NOT_IN_DB > (database,database.release.alias)] > > database.release.active.type='boolean' > database.release.active.default=True > ========================================= > > When I look at sql.log I see > > ========================================= > timestamp: 2009-08-10T11:15:24.393714 > CREATE TABLE vendor( > id INTEGER PRIMARY KEY AUTOINCREMENT, > name CHAR(32), > alias CHAR(32), > url CHAR(32), > logo CHAR(32), > active CHAR(32) > ); > success! > timestamp: 2009-08-10T11:15:24.411343 > CREATE TABLE distro( > id INTEGER PRIMARY KEY AUTOINCREMENT, > vendor_id CHAR(32), > name CHAR(32), > alias CHAR(32), > active CHAR(32) > ); > success! > timestamp: 2009-08-10T11:15:24.423518 > CREATE TABLE release( > id INTEGER PRIMARY KEY AUTOINCREMENT, > distro_id CHAR(32), > version CHAR(32), > alias CHAR(32), > active CHAR(32) > ); > success! > ========================================= > > Is it normal for my specifications to be ignored? Also, via the > database administration page, I can set the active field of a record > to "True" but not "False". If I try to change something to "False" I > get "invalid length!". > > What am I doing wrong? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---