From edbf45e5429a67155d2c6b872bc1d86a6e7f4bc3 Mon Sep 17 00:00:00 2001 From: Oscar Rodriguez Date: Fri, 14 Feb 2014 11:20:29 +0100 Subject: [PATCH] dal.py: BaseAdapter: insert: solved problem when creating new record without passing the primary key as argument --- gluon/dal.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gluon/dal.py b/gluon/dal.py index 2a7f769a..48f08c31 100644 --- a/gluon/dal.py +++ b/gluon/dal.py @@ -1358,11 +1358,13 @@ class BaseAdapter(ConnectionPool): if hasattr(table,'_on_insert_error'): return table._on_insert_error(table,fields,e) raise e - if hasattr(table,'_primarykey'): + if hasattr(table, '_primarykey'): mydict = dict([(k[0].name, k[1]) for k in fields if k[0].name in table._primarykey]) if mydict != {}: return mydict id = self.lastrowid(table) + if hasattr(table, '_primarykey') and len(table._primarykey) == 1: + id = {table._primarykey[0]: id} if not isinstance(id, (int, long)): return id rid = Reference(id)