It appears if I have a table with a boolean field for minimal example:
#Model
db.define_table('simple',
Field('test', 'boolean', default=True, label='Test Boolean'))
#Controller
@action("simple/<pid>", method=['GET', 'POST'])
@action("simple", method=['GET', 'POST'])
@action.uses(session, db, auth.user, 'simple.html')
def simple(pid=0):
form = Form(db.simple,
record=pid)
return dict(form=form)
Then the field is always created with the default value and it is not possible to change it to false (other than via the dashboard app). Workaround is to remove default=True but would be good if this could be verified as a bug and then fixed.
Regards
Donald