Thanks, that got rid of my problem with a false value for the boolean. ==================================================================== # coding: utf8 # define a SQLite database database=SQLDB("sqlite://database.db")
# create a vendor table database.define_table('vendor', database.Field('name', 'string', length=64, unique=True), database.Field('alias', 'string', length=16, unique=True), database.Field('url', 'string', length=128, unique=True), database.Field('logo', 'upload'), database.Field('active', 'boolean') ) database.vendor.name.requires=[IS_NOT_EMPTY(),IS_NOT_IN_DB(database, database.vendor.name)] 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.requires=[IS_NOT_EMPTY()] database.vendor.logo.requires=[IS_NOT_EMPTY()] database.vendor.active.requires=[IS_NOT_EMPTY()] database.define_table('distro', database.Field('vendor_id', database.vendor), database.Field('name', 'string', length=64, unique=True), database.Field('alias', 'string', length=16, unique=True), database.Field('active', 'boolean') ) database.distro.vendor_id.requires=IS_IN_DB(database,database.vendor.id ,'%(name)s') database.distro.name.requires=[IS_NOT_EMPTY()] database.distro.alias.requires=[IS_NOT_EMPTY(),IS_NOT_IN_DB(database,database.distro.alias)] database.distro.active.requires=[IS_NOT_EMPTY()] database.define_table('release', database.Field('distro_id', database.distro), database.Field('version', 'string', length=16, unique=True), database.Field('alias', 'string', length=16, unique=True), database.Field('active', 'boolean', default=True) ) database.release.distro_id.requires=IS_IN_DB(database,database.distro.id ,'%(name)s') database.release.version.requires=[IS_NOT_EMPTY()] database.release.alias.requires=[IS_NOT_EMPTY(),IS_NOT_IN_DB(database,database.release.alias)] ==================================================================== My the tables are still not being defined as i would expect. ==================================================================== 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! ==================================================================== On Tue, Aug 11, 2009 at 10: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 -~----------~----~----~----~------~----~------~--~---