equal
deleted
inserted
replaced
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}) |