Here is an example:

Model
-----
db.define_table('things',Field('name',requires=IS_NOT_EMPTY()),
                Field('age','integer'),Field('weight','double'))
db.things.id.represent = lambda v: A(v,_href=URL(vars=dict(dupe=v)),
                                     _onclick='return confirm("Copy
%s?")' % v)

Controller
----------
def index():
    form = SQLFORM(db.things)
    if form.accepts(request.vars,session):
        response.flash = 'Added a thing'
    if request.vars.dupe:
        record = db.things(request.vars.dupe)
        vals = {}
        for k,v in record.items():
            if k in db.things.fields:
                vals[k] = v
        db.things.insert(**vals)
    things = db(db.things.id>0).select()
    return dict(form=form,things=things)

On Dec 3, 6:12 pm, tomt <tom_tren...@yahoo.com> wrote:
> Hi,
>
> I've started to write a simple application to learn web2py. I am using
> SQLFORM to insert, modify and delete records. So far everything is
> working as planned.
>
> I would like to give the user the ability add a new record as a copy
> of an existing one.  The idea is that the user would view an existing
> record, modify a couple fields, and select 'copy' which result in
> adding a new record.
>
> I assume that this requires additional code, and I was hoping that
> someone would suggest an example, or let me know if SQLFORM can do
> this automatically.
>
> Thanks in advance,
>
> - Tom

Reply via email to