Yes... Massimo helped me come up with a workaround for my case. I am using SQLFORM.factory to create a form to edit two tables joined together. One table is used to index entries in a bunch of other tables by a 6-tuple. Since these are all swimming related, the tuple is (sex, upper_age, lower_age, stroke, distance, course). This is turned into an index and used in a bunch of other tables which all need this same information.
Here is the outline of the problematic method, with the fix in RED: def edit_event(): . . . (dbe, dbei) = (db.event, db.event_index) . . . fields = [dbei[f].clone() for f in dbei.fields if f not in ['id','code' ]] fields += [dbe[f].clone() for f in dbe.fields if f not in ['id', 'id_meet','id_session','id_event','ord']] rec = db(dbe.id==event_id).select(dbe.ALL, dbei.ALL, cacheable=True, limitby=(0,1), join=dbei.on(dbei.id==dbe.id_event)). first() d = dict(rec.event_index) d.update(rec.event) . . . form = modal_form(SQLFORM.factory, *fields, record=d, table_name= "event_join",showid=False, title=H4("Editing Event Settings", _class="center”)) . . . Cloning the fields before using them in SQLFORM.factory avoids the error. -- Joe On Sunday, July 16, 2017 at 10:15:18 AM UTC-7, Leonel Câmara wrote: > > Joe can you show us some code? I've already fixed two bugs related to > this, one on the DAL and another in web2py, I want to make sure yours isn't > a new one. > -- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.