Didn't you post this already two days go? Perhaps somebody else did.

    if form.accepts(request.vars, session,keepvalues=True):
        db.events.insert(**db.events._filter_fields(form.vars))

is the problem. form.accepts already does insert. remove the second
line or do

    if form.accepts(request.vars,
session,keepvalues=True,dbio=False):
        db.events.insert(**db.events._filter_fields(form.vars))


On Jun 18, 3:19 pm, Nils Olofsson <nils.olofs...@gmail.com> wrote:
> Hi,
>
> I'm having a problem:
> web2py: Version 1.96.4 (2011-06-07 21:08:15)
>
> Running on Rocket 1.2.2
>
> Database is mysql.
>
> I have this code:
>
> form
> =SQLFORM(db.events,fields=['title','venue','starttime','startdate','endtime 
> ','enddate','location','image','cost','website','booking','latlng','informa 
> tion'])
>     my_extra_element = TR("",INPUT(_id='Lookup',_value="Check
> Map",_type='submit'))
>     form[0].insert(6,my_extra_element)
>     my_extra_element = TR("Add
> Tags",SELECT(_name='tags',_multiple='multiple',*[OPTION(tags[i].name,_value 
> =str(tags[i].id))
> for i in range(len(tags))]))
>     form[0].insert(-1,my_extra_element)
>
>     if form.accepts(request.vars, session,keepvalues=True):
>         db.events.insert(**db.events._filter_fields(form.vars))
>         cache.ram.clear()
>         response.flash = 'form accepted'
>         redirect(URL('index'))
>         print "form accepted"
>     elif form.errors:
>         response.flash = 'form has errors'
>         print "form has errors"
>     else:
>         print "fill out form"
>     return dict(form=form)
>
> Every time I add a record it gets inserted twice.
> There is a slight difference in records, 1st has no tags added while
> the 2nd has the tags correctly added.
>
> Any idea why this is happening ?
>
> Regards,
> Nils

Reply via email to