def drop(cls, ifexists: bool = False, t: _transaction = None): """ :param ifexists: :param t: :return: """ cls._check_meta() mydb = MyDBApi(config=cls._get_db_conf(), t=t) _sql = cls.__META__.get_drop_sql_tpl(ifexists=ifexists) return mydb.delete(_sql)
def delete(self, t: _transaction = None): """ 删除当前对象对应的数据库记录 :param t: :return: """ filters = self.pk_fields f = [] param = {} for key, val in filters.items(): f.append(u'{key}=%(f_{key})s'.format(key=key)) param[u'f_' + key] = val sql = self.__META__.get_delete_sql_tpl().format(filter=' AND '.join(f)) mydb = MyDBApi(config=self._get_db_conf(), t=t) return mydb.delete(sql, param)
def delete_many(cls, t: _transaction = None, **terms): """ 批量查询接口 :param t: :param terms: 删除过滤条件 :return: """ cls._check_meta() if not terms: raise Exception(u'ERROR: Unknow delete terms') parsed = parse(**terms) param = parsed['param'] delete_tpl = cls.__META__.get_delete_sql_tpl() sql = delete_tpl.format(filter=parsed['filter']) mydb = MyDBApi(config=cls._get_db_conf(), t=t) return mydb.delete(sql, param)