You cannot do db.page.id.readable = False
You have to do SQLFORM(...., showid=False)

On Monday, 21 November 2016 09:42:54 UTC-6, Gaurav Vichare wrote:
>
> Posting it again because my last post(7 days old) was not approved.
>
> I am facing issue while updating record using SQLFORM when readable and 
> writable is False for id field and record_versioning is on. I am 
> explaining this issue with example app 'mywiki' given in web2py book 
> <http://www.web2py.com/books/default/chapter/29/03/overview#A-simple-wiki>
> .
>
> I only added following line in db.py to enable record versioning and to 
> hide id field in forms. Did no changes in controller or other code.
>
> db._common_fields.append(auth.signature)
>
> db.define_table('page',
>                 Field('title'),
>                 Field('body', 'text'),
>                 Field('created_on', 'datetime', default=request.now),
>                 Field('created_by', 'reference auth_user', 
> default=auth.user_id),
>                 format='%(title)s')
>
> db.page.id.readable = db.page.id.writable = False
> # other table definations.....
>
>
> auth.enable_record_versioning(db) # at the end of file
>
> here is edit controller function:
>
> def edit():
>     """edit an existing wiki page"""
>     this_page = db.page(request.args(0, cast=int)) or redirect(URL('index'))
>     form = SQLFORM(db.page, this_page).process(
>         next = URL('show', args=request.args))
>     return dict(form=form)
>
> Now when I submit the update form without updating anything in form,
>
> I got error- KeyError: 'id' Here is complete traceback 
> https://paste.ubuntu.com/23442757/
>
> I debugged through web2py framework code and found that error comes while 
> creating entry in archive table, and only when writable False and that to 
> for id field because _filter_fields filters out id field.
>
> I think, I am missing something simple here I am using web2py-2.14.6.
>
> Also posted this on stackoverflow 
> <http://stackoverflow.com/questions/40478479/update-sqlform-gives-keyerror>
>
>
> Please help me to fix the error!
>
> Thank You
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to