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 <[email protected]> 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