dal.py: BaseAdapter: insert: solved problem when creating new record without passing the primary key as argument

This commit is contained in:
Oscar Rodriguez
2014-02-10 19:50:18 +01:00
parent 4c3ab339cd
commit 55281650e2

View File

@@ -1359,8 +1359,9 @@ class BaseAdapter(ConnectionPool):
return table._on_insert_error(table,fields,e)
raise e
if hasattr(table,'_primarykey'):
return dict([(k[0].name, k[1]) for k in fields \
if k[0].name in 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 not isinstance(id, (int, long)):
return id