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
-~----------~----~----~----~------~----~------~--~---

Reply via email to