common/entity.py
changeset 397 cf577e26f924
parent 237 3df2e0ae2eba
child 413 a7366dd3c33c
equal deleted inserted replaced
388:4e23b542f8ad 397:cf577e26f924
   955     def set_attributes(self, **kwargs):
   955     def set_attributes(self, **kwargs):
   956         assert kwargs
   956         assert kwargs
   957         relations = []
   957         relations = []
   958         for key in kwargs:
   958         for key in kwargs:
   959             relations.append('X %s %%(%s)s' % (key, key))
   959             relations.append('X %s %%(%s)s' % (key, key))
       
   960         # update current local object
       
   961         self.update(kwargs)
       
   962         # and now update the database
   960         kwargs['x'] = self.eid
   963         kwargs['x'] = self.eid
   961         self.req.execute('SET %s WHERE X eid %%(x)s' % ','.join(relations),
   964         self.req.execute('SET %s WHERE X eid %%(x)s' % ','.join(relations),
   962                          kwargs, 'x')
   965                          kwargs, 'x')
   963         for key, val in kwargs.iteritems():
       
   964             self[key] = val
       
   965             
   966             
   966     def delete(self):
   967     def delete(self):
   967         assert self.has_eid(), self.eid
   968         assert self.has_eid(), self.eid
   968         self.req.execute('DELETE %s X WHERE X eid %%(x)s' % self.e_schema,
   969         self.req.execute('DELETE %s X WHERE X eid %%(x)s' % self.e_schema,
   969                          {'x': self.eid})
   970                          {'x': self.eid})