dabo Commit
Revision 3788
Date: 2007-12-11 09:49:46 -0800 (Tue, 11 Dec 2007)
Author: Ed
Trac: http://svn.dabodev.com/trac/dabo/changeset/3788
Changed:
U trunk/dabo/db/dCursorMixin.py
Log:
Fixed several bugs in the handling of compound KeyField values.
Diff:
Modified: trunk/dabo/db/dCursorMixin.py
===================================================================
--- trunk/dabo/db/dCursorMixin.py 2007-12-11 16:10:01 UTC (rev 3787)
+++ trunk/dabo/db/dCursorMixin.py 2007-12-11 17:49:46 UTC (rev 3788)
@@ -732,8 +732,8 @@
cursor.setNewFlag()
"""
if self.KeyField:
- rec = self._records[self.RowNumber]
- self._newRecords[rec[self.KeyField]] = None
+ pk = self.getPK()
+ self._newRecords[pk] = None
def genTempAutoPK(self):
@@ -1233,7 +1233,8 @@
rec = self._records[row]
try:
- del self._mementos[rec[self.KeyField]]
+ pk = self.getPK()
+ del self._mementos[pk]
except KeyError:
# didn't exist
pass
@@ -1256,7 +1257,8 @@
rec = self._records[row]
try:
- del self._newRecords[rec[self.KeyField]]
+ pk = self.getPK()
+ del self._newRecords[pk]
except KeyError:
# didn't exist
pass
@@ -1483,12 +1485,10 @@
def _getRecordByPk(self, pk):
"""Find the record with the passed primary key; return (row,
record)."""
- if self.KeyField:
+ kf = self.KeyField
+ if kf:
for idx, rec in enumerate(self._records):
- if self._compoundKey:
- key = tuple([rec[k] for k in
self.KeyField])
- else:
- key = rec[self.KeyField]
+ key = self.getFieldVal(kf, row=idx)
if key == pk:
return (idx, rec)
return (None, None)
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message: http://leafe.com/archives/byMID/dabo-dev/[EMAIL PROTECTED]