After further tests, this model worked for me eventually:
Field("is_active", "boolean", label="Active", requires=IS_IN_SET([(True,'yes'), (False,'no')], zero=None),
default=(True,'yes'), widget=SQLFORM.widgets.options.widget)
and on the controller....
def validate_library(form):
form.vars.is_active = True if form.vars.is_active in ['yes','True'] else False
@auth.requires_login()
def library():
grid = SQLFORM.grid(db.service, formname='grid_services', create=True, csv=False, paginate=20,
searchable=True, editable=True, deletable=False, onvalidation=validate_library)
return dict(grid=grid)