I defined the following table:

is_not_in_db=IS_NOT_IN_DB(db,'hub.name',error_message='name already in 
database')

db.define_table('hub',
    Field(...),
    
Field('name',default='',IS_NOT_EMPTY(),is_not_in_db],notnull=True,unique=True),
    ...
    migrate=False)


... and the following function:

def update():
    form=SQLFORM.factory(db.hub,...)
    .... # prepopulate the form
    if form.process(keepvalues=False).accepted:
        ...
        is_not_in_db.set_self_id(hub.id)
        hub.update_record(**db.hub._filter_fields(form.vars))
        ..
    elif form.errors:
        response.flash=response_flash('formerror',session)
    elif not response.flash:
        response.flash='...'
    return dict(form=form)

Despite the is_not_in_db validator and is_not_in_db.set_self_id(hub.id) I 
get an error on field name " name already in database". This used the work, 
is this no longer supported? What's the correct way to get this to work.

Kind regards,

Annet

-- 



Reply via email to