I have a few additional fields set on my db_auth table, mainly in order to 
implement a simple invite system:

auth.settings.extra_fields['auth_user']= [ Field('invite_sent', 'datetime', 
default=None), # None for activated users
    Field('invite_key')] 

When the invite has been accepted, I want to set both field to None. This 
works for db.auth_user.invite_sent but not for the second field. I try the 
following in the web2py python shell:
>>> db(db.auth_user.id==123).validate_and_update(invite_key=None)

<Row {'updated': None, 'errors': <Row {'invite_key': 'enter from 0 to 255 
characters'}>}>

I tried to check for the field's attributes, but this looks alright to me:
>>> repr(db.auth_user.invite_key.default)
'None'
>>> db.auth_user.invite_key.notnull
False

Setting to a zero length string works, but that's not what I want. Also, I 
can set it to NULL in SQL, so the underlying DB scheme seems to be okay.
I am running web2py Version 1.99.7 on Python 2.7.3 right now. 

What am I missing, why can I not set the field to be None?

-- 



Reply via email to