В документах Web2py есть два метода вставки в базу данных
db.tbl[0] = newRow
и
db.tbl.insert(newRowAsDict)
В документации подразумевается, что они являются синонимами, но кажутся разными. Во-первых, метод вставки выдает исключение, если newRow содержит поля, которых нет в таблице. Также метод .insert возвращает идентификатор добавленной строки, а присваивание - нет.