don't introduce a spurious 'x' key in the entity-as dict
authorAurelien Campeas <aurelien.campeas@logilab.fr>
Mon, 12 Jan 2009 18:15:14 +0100
changeset 397 cf577e26f924
parent 388 4e23b542f8ad
child 398 cc16ee7d2d86
don't introduce a spurious 'x' key in the entity-as dict
common/entity.py
--- a/common/entity.py	Mon Jan 12 11:00:17 2009 +0100
+++ b/common/entity.py	Mon Jan 12 18:15:14 2009 +0100
@@ -957,11 +957,12 @@
         relations = []
         for key in kwargs:
             relations.append('X %s %%(%s)s' % (key, key))
+        # update current local object
+        self.update(kwargs)
+        # and now update the database
         kwargs['x'] = self.eid
         self.req.execute('SET %s WHERE X eid %%(x)s' % ','.join(relations),
                          kwargs, 'x')
-        for key, val in kwargs.iteritems():
-            self[key] = val
             
     def delete(self):
         assert self.has_eid(), self.eid