If you never used a db backend dealing with NULL values is a little bit 
different than dealing with None in python.
While it's true that in python False != None and True != None, it's not the 
same in SQL.
As much as the db engine knows, a column with a NULL value has no data to 
compare with, so it's impossible to apply a filter to that column.
The only way to filter a NULL value is to use IS NULL (or IS NOT NULL), 
which in DAL's case is db.table.field == None (or db.table.field != None).

PS: if you don't want to deal with NULL values in your table definition set 
a default

db.define_table('mytable',
    Field('myboolean', 'boolean', default=False)
)

so any value inserted with forms or with db.mytable.validate_and_insert() 
will use that default if is not explicitely set. 

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to