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?
--