When I try and do an update_record() I get an exception.
Is there something wrong with my table definition?
Can anyone help?
>From db.py:
auth.settings.table_user = db.define_table(
auth.settings.table_user_name,
db.Field('email', 'string', length=254, unique=True, notnull=True,
required=True, requires = [IS_LOWER(), IS_EMAIL(),
IS_NOT_IN_DB(db,'%s.email'%auth.settings.table_user_name)]),
db.Field('password', 'password', length=512, readable=False,
label='Password', requires = [CRYPT(key='***')]),
db.Field('registration_id', length=512, writable=False,
readable=False, default=''),
db.Field('registration_key', length=512, writable=False,
readable=False, default=''),
db.Field('first_name', 'string', length=128),
db.Field('last_name', 'string', length=128))
The rest is in default.py:
registerAgent(form)
def registerLinkedInAgent():
if auth.user.registration_key and
len(auth.user.registration_key):
# one-off calls
auth.add_membership(auth.id_group( 'agent'), auth.user.id)
# find current user's record and update registration key to an
empty string so this code isn't called again
users =
db(db.auth_user.id==auth.user.id).select(db.auth_user.ALL)
if users and len(users):
users[0].update_record({'registration_key''})
redirect(URL('account'))
The problem is I get "ValueError: need more than 1 value to unpack"
when I call update_record()
Full trackback is below:
Traceback (most recent call last):
File "E:\projects\workspace\TestEnvoy\web2py\gluon\restricted.py",
line 188, in restricted
exec ccode in environment
File "E:/projects/workspace/TestEnvoy/web2py/applications/init/
controllers/default.py", line 1528, in <module>
File "E:\projects\workspace\TestEnvoy\web2py\gluon\globals.py", line
96, in <lambda>
self._caller = lambda f: f()
File "E:/projects/workspace/TestEnvoy/web2py/applications/init/
controllers/default.py", line 1132, in registerLinkedInAgent
users[0].update_record({'registration_key' : ''})
File "E:\projects\workspace\TestEnvoy\web2py\gluon\sql.py", line
3381, in <lambda>
colset.update_record = lambda _ = (colset, table, id), **a:
update_record(_, a)
File "E:\projects\workspace\TestEnvoy\web2py\gluon\sql.py", line
3508, in update_record
(colset, table, id) = pack
ValueError: need more than 1 value to unpack