Hi,

I just hit the same problem and can reproduce in trivial case

in model:
db.define_table('foo', Field('x'))
db.define_table('bar', Field('label'), Field('ref',db.foo))

in controller:
def insertone():
    id=db.foo.insert(x="xxx")
    db.bar.insert(label="label",ref=id)

def index():
    record=db.bar(id=1)
    form=SQLFORM(db.bar,record,readonly=True)
    if form.accepts(request.vars,session):
        session.flash="accepted"
    return dict(form=form)

this will produce 'None' on the ref field
if I change index to be:

def index():
    record=db.bar(id=1)
    db.bar.ref.represent=lambda val: db.foo[val].x
    form=SQLFORM(db.bar,record,readonly=True)
    if form.accepts(request.vars,session):
        session.flash="accepted"
    return dict(form=form)

everything is tiptop
web2py version: 1.91.6

Cheers,
Pawel

Reply via email to