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.
>>
>
--