Maybe try:
form.vars.id = table.insert(**table._filter_fields(form.vars))
The _filter_fields method should pull out only the dict keys that are fields
in the table. See
http://web2py.com/book/default/chapter/07#One-form-for-multiple-tables for
an example of this.
Anthony
On Thursday, June 16, 2011 6:04:27 PM UTC-4, apple wrote:
> I get this error when trying to insert a record manually from a
> sqlform:
>
> SyntaxError: Field _autocomplete_name_aux does not belong to the table
>
> Controller line is:
> form.vars.id = table.insert(**dict(form.vars))
>
> Model definition has a field using the autocomplete widget:
>
> db.define_table('order',
> Field('product', db.product,
> widget = SQLFORM.widgets.autocomplete(request,
> db.product.name, id_field=db.product.id)),
>
>
>
>