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

Reply via email to