def syncDB(self): """同步到数据库 """ state = self.get('_state') tablename = self._name.split(':')[0] if state == MMODE_STATE_ORI: return elif state == MMODE_STATE_NEW: props = self.get('data') props = self.dumps(props) pk = self.get('_pk') result = util.InsertIntoDB(tablename, props) elif state == MMODE_STATE_UPDATE: props = self.get('data') pk = self.get('_pk') props = self.dumps(props) prere = {pk: props.get(pk)} del(props[pk]) util.UpdateWithDict(tablename, props, prere) result = True else: pk = self.get('_pk') props = self.get('data') props = self.dumps(props) prere = {pk: props.get(pk)} result = util.DeleteFromDB(tablename, prere) if result: MemObject.update(self, '_state', MMODE_STATE_ORI)
def syncDB(self): """同步到数据库 """ state = self.get('_state') tablename = self._name.split(':')[0] if state == MMODE_STATE_ORI: return elif state == MMODE_STATE_NEW: props = self.get('data') pk = self.get('_pk') util.InsertIntoDB(tablename, props) # result = util.InsertIntoDB(tablename, props) elif state == MMODE_STATE_UPDATE: props = self.get('data') pk = self.get('_pk') prere = {pk: props.get(pk)} util.UpdateWithDict(tablename, props, prere) # result = True else: pk = self.get('_pk') props = self.get('data') if props: prere = {pk: props.get(pk)} util.DeleteFromDB(tablename, prere) # result = util.DeleteFromDB(tablename, prere) self.mdelete() else: logging.error('syncDB pk:%s is not data' % str(pk)) # logger.debug('syncDB,tbname:%s,%s:%s' %(tablename, pk, props.get(pk))) # if result: 平台缺陷,2014-6-20修改 http://bbs.9miao.com/thread-49154-1-1.html if state != MMODE_STATE_DEL: MemObject.update(self, '_state', MMODE_STATE_ORI)
def syncDB(self, state=MMODE_STATE_UPDATE): """同步到数据库 """ tablename = self._name.split(':')[0] if state == MMODE_STATE_NEW: props = self.getData() pk = self._pk result = util.InsertIntoDB(tablename, props) elif state == MMODE_STATE_UPDATE: props = self.getData() pk = self._pk prere = {pk: props.get(pk)} sql = util.UpdateWithDictSQL(tablename, props, prere) DBPub().send((tablename, sql)) result = True else: pk = self._pk props = self.getData() prere = {pk: props.get(pk)} result = util.DeleteFromDB(tablename, prere) return result
def new(self,data): """创建一个新的对象 """ incrkey = self.incrkey tablename = self.name if incrkey: result = util.InsertIntoDBAndReturnID(tablename, data) data[incrkey] = result pk = data.get(self.pk) if pk is None: raise PKValueError(data) mm = MemModel(self.name+':%s'%pk,self.pk,data=data,**self.kw) setattr(mm,incrkey,pk) else: pk = data.get(self.pk) result = util.InsertIntoDB(tablename, data) if not result: raise util.SQLError() mm = MemModel(self.name+':%s'%pk,self.pk,data=data,**self.kw) mm.insert() return mm
def new(self, data): """创建一个新的对象 """ incrkey = self.incrkey tablename = self._name if incrkey: result = util.InsertIntoDBAndReturnID(tablename, data) data[incrkey] = result[0] pk = data.get(self.pk) if pk is None: raise PKValueError(data) mm = MMode(self._name + ':%s' % pk, self.pk, data=data, fk=self._fk, timeout=self.timeout) else: pk = data.get(self.pk) result = util.InsertIntoDB(tablename, data) if not result: raise util.SQLError() mm = MMode(self._name + ':%s' % pk, self.pk, data=data, fk=self._fk, timeout=self.timeout) mm.insert() if self._fk: fk = data.get(self._fk, 0) name = '%s_fk:%s' % (self._name, fk) fkmm = MFKMode(name) pklist = fkmm.get('pklist') if pklist is None: pklist = self.getAllPkByFk(fk) pklist.append(pk) fkmm.update('pklist', pklist) return mm
def syncDB(self): """同步到数据库 """ state = self.get('_state') tablename = self._name.split(':')[0] if state == 0: return elif state == 1: props = self.get('data') pk = self.get('_pk') result = util.InsertIntoDB(tablename, props) elif state == 2: props = self.get('data') pk = self.get('_pk') prere = {pk: props.get(pk)} util.UpdateWithDict(tablename, props, prere) result = True else: pk = self.get('_pk') props = self.get('data') prere = {pk: props.get(pk)} result = util.DeleteFromDB(tablename, prere) if result: MemObject.update(self, '_state', 0)