######################################## db.define_table('t_project', Field('f_name', type='string', label=T('Name')), Field('f_parent_project', type='reference t_project', label=T('Parent Project')), Field('f_description', type='string', label=T('Description')), Field('f_start_on', type='date', label=T('Start On')), Field('f_colour', type='string', label=T('Colour')), Field('f_company_code', type='text', label=T('Company Code')), Field('f_status', type='boolean', label=T('Status')), auth.signature, format='%(f_name)s', migrate=settings.migrate)
db.t_project.f_name.requires = IS_EMPTY_OR(IS_IN_DB(db,'t_project.id',format =db.t_project._format)) db.define_table('t_project_archive',db.t_project,Field('current_record','reference t_project',readable=False,writable=False)) On Friday, 30 November 2012 13:50:34 UTC, Anthony wrote: > > The format argument goes in the define_table() call -- is that where you > have it? > > Anthony > > On Friday, November 30, 2012 1:58:09 AM UTC-5, Luc Chase wrote: >> >> Thanks for the suggestion. I had tried something similar but got an >> error and even with this I have an error referencing to the unexpected use >> of 'format'. >> >> <type 'exceptions.TypeError'> __init__() got an unexpected keyword >> argument 'format'VERSIONweb2py™(2, 2, 1, datetime.datetime(2012, 10, 21, >> 16, 57, 4), 'stable')PythonPython 2.7: C:\Program >> Files\Python\web2py_win\web2py\web2py.exeTRACEBACK >> >> 1. >> 2. >> 3. >> 4. >> 5. >> >> Traceback (most recent call last): >> File "gluon/restricted.py", line 212, in restricted >> File "C:/Program >> Files/Python/web2py_win/web2py/applications/Timesheet/models/db_wizard.py" >> <http://127.0.0.1:8000/admin/default/edit/Timesheet/models/db_wizard.py>, >> line 40, in <module> >> TypeError: __init__() got an unexpected keyword argument 'format' >> >> ERROR SNAPSHOT [image: help] >> >> <type 'exceptions.TypeError'>(__init__() got an unexpected keyword >> argument 'format') >> >> On Thursday, 29 November 2012 02:08:58 UTC, Massimo Di Pierro wrote: >>> >>> The problem is that it cannot assign the default validator unless the >>> table is defined. You can do >>> >>> db.define_table('t_project', >>> Field('f_name', type='string', >>> label=T('Name')), >>> Field('f_parent_project', type='reference t_project', >>> label=T('Parent Project')), >>> .... >>> format='%(f_name)s', >>> migrate=settings.migrate) >>> >>> db.t_project.f_name.requires = IS_EMPTY_OR(IS_IN_DB(db,'t_project.id >>> ',format=db.t_project._format)) >>> >>> The last line will restore the dropdown. >>> >>> >>> On Wednesday, 28 November 2012 14:39:14 UTC-6, Jim S wrote: >>>> >>>> I'm seeing this as well. >>>> >>>> -Jim >>>> >>>> >>>> On Tuesday, November 27, 2012 12:09:18 PM UTC-6, Luc Chase wrote: >>>>> >>>>> If the reference is to a different table, the CRUD form renders the >>>>> field as a list box allowing the user to select the record from the >>>>> foreign >>>>> table. But as a self-join the CRUD form renders the field as a simple >>>>> text >>>>> box and it seems to create a default value of 0 when saved. Then, I think >>>>> that causes the record to generate an error when viewed ( but not when >>>>> edited). >>>>> >>>>> >>>>> I can post the entire models file if that would help. >>>>> >>>> --