This problem appeared when I moved my application from x to 1.99.2. I use crud.update to display and modify a member directory record. Selecting and displaying the record works, but when submitting an updated record I get a failure:
TRACEBACK 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Traceback (most recent call last): File "C:\Documents and Settings\David Manns\My Documents\ocsnedb\gluon\restricted.py", line 194, in restricted raise File "C:/Documents and Settings/David Manns/My Documents/ocsnedb saved/applications/init/controllers/default.py" <http://127.0.0.1:8000/admin/default/edit/init/controllers/default.py>, line 889, in <module> File "C:\Documents and Settings\David Manns\My Documents\ocsnedb\gluon\globals.py", line 149, in <lambda> File "C:/Documents and Settings/David Manns/My Documents/ocsnedb saved/applications/init/controllers/default.py" <http://127.0.0.1:8000/admin/default/edit/init/controllers/default.py>, line 273, in memberform deletable = False, next=next, onvalidation=setmodified) File "C:\Documents and Settings\David Manns\My Documents\ocsnedb\gluon\tools.py", line 2994, in update formname=DEFAULT, File "C:\Documents and Settings\David Manns\My Documents\ocsnedb\gluon\tools.py", line 79, in replace_id TypeError: float argument required The controller code looks like: def memberform(): chkurlreader() if request <http://127.0.0.1:8000/examples/global/vars/request>.vars.membid: member=db.Members[request <http://127.0.0.1:8000/examples/global/vars/request>.vars.membid] db.Members.Email.comment = A <http://127.0.0.1:8000/examples/global/vars/A>('Add/Edit/Delete Email Address(es)', _href=URL <http://127.0.0.1:8000/examples/global/vars/URL>('memberemail', vars=dict(membid=request <http://127.0.0.1:8000/examples/global/vars/request>.vars.membid, next=request <http://127.0.0.1:8000/examples/global/vars/request>.vars.next))) db.Members.Affiliation.comment = A <http://127.0.0.1:8000/examples/global/vars/A>('Add/Edit/Delete Affiliation(s)', _href=URL <http://127.0.0.1:8000/examples/global/vars/URL>('memberaffiliation', vars=dict(membid=request <http://127.0.0.1:8000/examples/global/vars/request>.vars.membid, next=request <http://127.0.0.1:8000/examples/global/vars/request>.vars.next))) if member.Status in ('Full', 'Student'): db.Members.Paiddate.comment = A <http://127.0.0.1:8000/examples/global/vars/A>('Process dues payment', _href=URL <http://127.0.0.1:8000/examples/global/vars/URL>('memberdues', vars=dict(membid=request <http://127.0.0.1:8000/examples/global/vars/request>.vars.membid, next=request <http://127.0.0.1:8000/examples/global/vars/request>.vars.next))) else: db.Members.Paiddate.comment = 'Only for Full & Student Members' next = URL <http://127.0.0.1:8000/examples/global/vars/URL>('memberform', vars=dict(membid=request <http://127.0.0.1:8000/examples/global/vars/request>.vars.membid, next=request <http://127.0.0.1:8000/examples/global/vars/request>.vars.next)) form = crud.update(db.Members, request <http://127.0.0.1:8000/examples/global/vars/request>.vars.membid, deletable = False, next=next, onvalidation=setmodified) form[0][-1][1].append(INPUT <http://127.0.0.1:8000/examples/global/vars/INPUT>(_type="button",_value="Cancel", _onclick="window.location='%s';"%request <http://127.0.0.1:8000/examples/global/vars/request>.vars.next)) else: db.Members.Email.comment = 'Add email address(es) after creating basic record' db.Members.Affiliation.comment = 'Add affiliation(s) after creating basic record' db.Members.Paiddate.comment = 'Usually set by processing dues payment' form = crud.create(db.Members, next=request <http://127.0.0.1:8000/examples/global/vars/request>.vars.next, onaccept=newmember) form[0][-1][1].append(INPUT <http://127.0.0.1:8000/examples/global/vars/INPUT>(_type="button",_value="Cancel", _onclick="window.location='%s';"%request <http://127.0.0.1:8000/examples/global/vars/request>.vars.next)) return dict(form=form, next=request <http://127.0.0.1:8000/examples/global/vars/request>.vars.next, membid=request <http://127.0.0.1:8000/examples/global/vars/request>.vars.membid)