yes with Andrew Buchan tip of leaving out the requires it worked for
me too, however the solution was rather unintuitive
tnx to everybody for taking time to check this problem

On May 19, 1:00 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
> For me this works
>
> db.define_table('person',
>         Field('name'),
>         format = "%(name)s",
>         )
> db.define_table('contributers',
>         Field('person', db.person), # <<< requires not necessary
>         )
>
> def edit_contributer():
>   db.contributers.person.writable = False
>   record = request.args(0) # <<<< 0 not 1
>   form = crud.update(db.contributers, record)
>   return dict(form = form)
>
> On May 18, 5:45 am, selecta <gr...@delarue-berlin.de> wrote:
>
>
>
> > I have a similar problem
>
> > db.define_table('person',
> >         Field('name'),
> >         format = "%(name)s",
> >         )
> > db.define_table('contributers',
> >         Field('person', db.person, requires = IS_IN_DB(db,
> > 'person.id', '%(name)s')),
> >         )
>
> > def edit_contributer():
> >   db.contributers.person.writable = False
> >   record = request.args(1)
> >   form = crud.update(db.contributers, record)
> >   return dict(form = form)
>
> > the update form will only display the id not the name field :(
>
> > On May 17, 11:17 pm, howesc <how...@umich.edu> wrote:
>
> > > Hi, i have this defined as a model:
>
> > > db.define_table('question',
> > >   Field('question', 'string', length=1056, notnull=True, unique=True,
> > >         requires=[IS_NOT_EMPTY(),
> > >                   IS_NOT_IN_DB(db,'question.question')]),
> > >   #version info
> > >   Field('created_by', db.auth_user, default=auth.user_id,
> > > writable=False),
> > >   Field('created_on','datetime', default=request.now,writable=False),
> > >   Field('updated_by',db.auth_user,
> > >         default=auth.user_id,update=auth.user_id,writable=False),
> > >   Field('updated_on','datetime',
> > >         default=request.now,update=request.now,writable=False),
> > >   migrate=migrate,
> > >   format='%(question)s (%(id)s)')
>
> > > then, in tables that reference it, when the reference field is not
> > > writable it uses the format string set at the end of the table
> > > definition instead of just the ID.
>
> > > hope that helps,
>
> > > cfh
>
> > > On May 17, 10:20 am, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > > > yes. I misread the previous emails so my answer was wrong.
>
> > > > On May 17, 11:22 am, Iceberg <iceb...@21cn.com> wrote:
>
> > > > > Not sure. Can't Field(..., writable=False) do the trick?
>
> > > > > On May17, 5:44pm, Andrew Buchan <mr_buc...@hotmail.com> wrote:
>
> > > > > > Hi all,
> > > > > > If I have a referenced field where I specify which field in the 
> > > > > > referenced table to display, like so:
> > > > > > Field('To_Department', requires = IS_IN_DB(db, db.department.id, 
> > > > > > '%(Department_Name)s')),
> > > > > > SQLFORM generates a form with a drop-down box showing me the 
> > > > > > Department_Name of the departments, but only if it is an INSERT or 
> > > > > > UPDATE form.
> > > > > > My question is, how do I get a read-only form to display the 
> > > > > > Department_Name instead of the id of the referenced record?
> > > > > > Can't seem to find an example or answer on the web, but there must 
> > > > > > surely be an easy way...
> > > > > > Thanks,Andy.
>
> > > > > > _________________________________________________________________http://clk.atdmt.com/UKM/go/197222280/direct/01/
> > > > > > Do you have a story that started on Hotmail? Tell us now

Reply via email to